gpt4 book ai didi

php - PHP 的缓存控制和过期 header

转载 作者:可可西里 更新时间:2023-11-01 12:26:13 24 4
gpt4 key购买 nike

我正在设置我的标题

$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

有人知道为什么我的 header 没有被识别吗?

最佳答案

我知道几个版本前,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, d M Y H:i:s', time() + (60*60*24*45)) . ' GMT');
// rest of the code
?>

关于php - PHP 的缓存控制和过期 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6816017/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com