php实现浏览器HTTP/1.1 304 Not Modified方法,通过使用ETag来实现
protected function cache_send($file) { $timestamp = filemtime($file); $gmt_mtime=gmdate('r', $timestamp); header('ETag: "'.md5($timestamp.$file).'"'); if(isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])||isset($_SERVER['HTTP_IF_NONE_MATCH'])) { if ($_SERVER['HTTP_IF_MODIFIED_SINCE']==$gmt_mtime||str_replace('"','',stripslashes($_SERVER['HTTP_IF_NONE_MATCH']))==md5($timestamp.$file)) { header('HTTP/1.1 304 Not Modified'); exit(); } } header('Last-Modified: '.$gmt_mtime); header('Cache-Control: public'); header("Content-type: image/jpeg"); echo file_get_contents($file); exit; }