PHP-为什么$_SERVER['HTTP_IF_MODIFIED_SINCE']为空?
想让浏览器缓存住php页面,为什么$_SERVER['HTTP_IF_MODIFIED_SINCE']为空?使用的nginx。
<?php
date_default_timezone_set('PRC');//时区设置 设置为 中国第八区时间
date_default_timezone_set ( "Asia/Shanghai" );
echo $modified_time = $_SERVER['HTTP_IF_MODIFIED_SINCE'];
if (strtotime($modified_time) + 3600 > time()) {
header("http/1.1 304");
exit(0);
}
header("Last-Modified:".gmdate("D, d M Y H:i:s")." GMT");
header("Expires:".gmdate("D, d M Y H:i:s",time()+3600)." GMT");
header("Cache-Control: max-age=3600");
echo 'test';
?>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
If-Modified-Since是服务器进行判断,而非cgi程序判断,另外If-Modified-Since是上次服务器返回头部中的Last-Modified信息,如果返回的头部中没有Last-Modified,则请求时是不会带上,也就是说Last-Modified / If-Modified-Since是成对使用的。
如果你真的想知道If-Modified-Since的内容,需要在nginx中fastcgi.conf配置
// 请求的头部的所有内容
fastcgi_param REQUEST_HEADER $request;