$ _SERVER ['IF_MODIFIED_SINCE']也不是Safari真正发送的任何其他内容

时间:2011-11-24 09:43:05

标签: caching safari if-modified-since

safari不会发回任何请求标题&我疯了我很惭愧我花了很长时间才意识到这一点(从一段时间后发回304,直到现在才意识到野生动物园问题)

if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) or isset($_SERVER['HTTP_IF_NONE_MATCH'])) {

   if (isset($_SERVER['HTTP_IF_NONE_MATCH'])) echo $_SERVER['HTTP_IF_NONE_MATCH']."<br/>";
   if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])) echo $_SERVER['HTTP_IF_MODIFIED_SINCE']."<br/>";
}
else {
     header("Content-Type: text/html");
     header("Last-Modified:Fri, 13 Dec 2001 20:45:54 GMT");
     header("Etag".md5_file(__FILE__)); 
     header("Expires:Fri, 13 Dec 2001 20:45:54 GMT") ;
     header("Pragma: private");
     header("Cache-Control:must-revalidate");
     echo 'refresh to view last modified/etag headers sent back by browser<br/>;
}

Firefox说话,Chrome说话,探险家说话。

Safari很蠢。

阅读此http://use.perl.org/~bart/journal/36598表示问题来自于上次修改后的标头中发送到Safari的日期格式。如果那就是上面使用的格式出了什么问题?

花了3个小时进行测试和无用的搜索。现在浏览developper.apple网站,然后放弃为safari提供缓存支持...可能是一个内部设置,复制粘贴http格式的日期,丢失标题错误...

感谢您的帮助

编辑:这是在刷新上面的测试脚本时,safari发送的http标头,从safari开发工具(资源)中复制

Accept:application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Cache-Control:max-age=0
User-Agent:Mozilla/5.0 (Windows; U; Windows NT 6.0; fr-FR) AppleWebKit/533.18.1 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5

0 个答案:

没有答案