Кэширование используя ETag
Вчера меня научили кэшировать... Была проблема, что браузер упорно слал в заголовках к серверу no-cache... С чем связано не знаю... В итоге мы написали так
$mimg_md5 = md5($mimg_str);
if( isset($_SERVER['HTTP_IF_NONE_MATCH']) && $_SERVER['HTTP_IF_NONE_MATCH']==$mimg_md5 ){
header('HTTP/1.0 304 Not Modified');
exit;
}
ob_clean();
header("Content-Type: image/png");
header("Cache-Control: public, max-age=3600");
header("Expires: ".gmdate('D, d M Y H:i:s T', time()+3600)); //Tue, 24 Apr 2012 10:43:15 GMT
header("Pragma:public");
header("ETag:{$mimg_md5}");
header("Last-Modified: " . date('r', strtotime(date("Y-m-d"))));
readfile($avafilename);
$mimg_md5 = md5($mimg_str);
if( isset($_SERVER['HTTP_IF_NONE_MATCH']) && $_SERVER['HTTP_IF_NONE_MATCH']==$mimg_md5 ){
header('HTTP/1.0 304 Not Modified');
exit;
}
ob_clean();
header("Content-Type: image/png");
header("Cache-Control: public, max-age=3600");
header("Expires: ".gmdate('D, d M Y H:i:s T', time()+3600)); //Tue, 24 Apr 2012 10:43:15 GMT
header("Pragma:public");
header("ETag:{$mimg_md5}");
header("Last-Modified: " . date('r', strtotime(date("Y-m-d"))));
readfile($avafilename);
Комментарии
Отправить комментарий