Кэширование используя 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);

Комментарии

Популярные сообщения