mirror of
https://github.com/e107inc/e107.git
synced 2025-08-01 20:30:39 +02:00
eTag validation fix and If-None-Match support.
This commit is contained in:
@@ -289,8 +289,23 @@ echo "</body></html>";
|
|||||||
$page = ob_get_clean();
|
$page = ob_get_clean();
|
||||||
|
|
||||||
$etag = md5($page);
|
$etag = md5($page);
|
||||||
header("Cache-Control: must-revalidate");
|
|
||||||
header("ETag: \"{$etag}\"");
|
|
||||||
|
if (isset($_SERVER['HTTP_IF_NONE_MATCH']))
|
||||||
|
{
|
||||||
|
$IF_NONE_MATCH = str_replace('"','',$_SERVER['HTTP_IF_NONE_MATCH']);
|
||||||
|
|
||||||
|
if($IF_NONE_MATCH == $etag || ($IF_NONE_MATCH == ($etag."-gzip")))
|
||||||
|
{
|
||||||
|
header('HTTP/1.1 304 Not Modified');
|
||||||
|
exit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!defined('e_NOCACHE'))
|
||||||
|
{
|
||||||
|
header("Cache-Control: must-revalidate");
|
||||||
|
}
|
||||||
|
|
||||||
$pref['compression_level'] = 6;
|
$pref['compression_level'] = 6;
|
||||||
$browser_support = FALSE;
|
$browser_support = FALSE;
|
||||||
@@ -306,6 +321,7 @@ if(ini_get("zlib.output_compression") == '' && function_exists("gzencode"))
|
|||||||
if(varset($pref['compress_output'],false) && $server_support == true && $browser_support == true)
|
if(varset($pref['compress_output'],false) && $server_support == true && $browser_support == true)
|
||||||
{
|
{
|
||||||
$level = intval($pref['compression_level']);
|
$level = intval($pref['compression_level']);
|
||||||
|
header("ETag: \"{$etag}-gzip\"");
|
||||||
$page = gzencode($page, $level);
|
$page = gzencode($page, $level);
|
||||||
header("Content-Encoding: gzip", true);
|
header("Content-Encoding: gzip", true);
|
||||||
header("Content-Length: ".strlen($page), true);
|
header("Content-Length: ".strlen($page), true);
|
||||||
@@ -313,6 +329,15 @@ if(varset($pref['compress_output'],false) && $server_support == true && $browser
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if($browser_support==TRUE)
|
||||||
|
{
|
||||||
|
header("ETag: \"{$etag}-gzip\"");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
header("ETag: \"{$etag}\"");
|
||||||
|
}
|
||||||
|
|
||||||
header("Content-Length: ".strlen($page), true);
|
header("Content-Length: ".strlen($page), true);
|
||||||
echo $page;
|
echo $page;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user