PHP的缓存控制和过期标头

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP的缓存控制和过期标头脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在设置我的标题
$offset = 60 * 15;

header("Expires: " . gmdate("D,d M Y H:i:s",time() + $offset) . " GMT");
header("Cache-Control: max-age=$offset,must-revalidate");

但是在运行FireBug时,它会给我以下标题信息

HTTP/1.1 200 OK
Date: Mon,25 Jul 2011 12:15:12 GMT
Server: apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OPEnSSL/0.9.8i PHP/5.2.9
X-Powered-By: PHP/5.2.9
Expires: Sat,01 Jan 2000 00:00:01 GMT
Cache-Control: post-check=0,PRe-check=0,max-age=0
Pragma: no-cache
Last-Modified: Mon,25 Jul 2011 12:15:13 GMT
Keep-Alive: timeout=5,max=100
Connection: Keep-Alive
transfer-encoding: chunked
Content-type: text/htML

任何人都知道为什么我的标题不被识别?

我知道很少版本之前,Firebug有问题,所有请求都是200而不是304.这是我的代码,我用于css:
<?PHP
    if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])) {
      $if_modified_since = preg_replace('/;.*$/','',$_SERVER['HTTP_IF_MODIFIED_SINCE']);
    } else {
      $if_modified_since = '';
    }

    $mtime = filemtime($_SERVER['SCRIPT_FILENamE']);
    $gmdate_mod = gmdate('D,d M Y H:i:s',$mtime) . ' GMT';

    if ($if_modified_since == $gmdate_mod) {
      header("HTTP/1.0 304 Not Modified");
      exIT;
    }

    header("Last-Modified: $gmdate_mod");
    header('Content-type: text/css');

    header('Expires: ' . gmdate('D,time() + (60*60*24*45)) . ' GMT');
    // rest of the code
    ?>

脚本宝典总结

以上是脚本宝典为你收集整理的PHP的缓存控制和过期标头全部内容,希望文章能够帮你解决PHP的缓存控制和过期标头所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。