我想在浏览器中缓存html页面,并且我将其绑定在本地主机上,并且我在响应头中发送正确的标头(使用PHP),但仍然浏览器不缓存响应,每次我请求相同的资源,它连接到服务器并从那里获得响应
在我的html页面顶部,我使用
<?php
header("Cache-Control:max-age=36000");
?>
Response
标头为
HTTP/1.1 200 OK
日期:星期二,2016年11月15日14:45:37 GMT
服务器:Apache/2.4.16 (Win32) OpenSSL/1.0.1p PHP/5.6.12
X-Powered-By: PHP/5.6.12
cache - control:信息= 36000
Accept-Ranges:没有
不同:接受编码
内容编码:gzip
内容长度:154
Keep-Alive: timeout=3, max=100
连接:维生
的content - type: text/html;utf - 8字符集=
当我在报头中看到Cache-Control:max-age=36000
时,我期望浏览器将缓存此响应36000秒,如果我重新加载页面,我将获得缓存的响应(和不同的响应头),但我在重新加载后获得相同的头,并再次直接从服务器获得响应,,
重装后request headers
GET /check.php HTTP/1.1
Host: localhost
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate, sdch, br
Accept-Language: en-US,en;q=0.8
我应该发送任何其他的响应头告诉浏览器缓存响应吗?
PHP(当然)自己添加了一些神奇的缓存控制头。不可能简单地用header()覆盖这些,并且您必须使用session_cache_limititer()来设置不同的缓存控制头,或者使用session_cache_limititer(")来禁用这些神奇的头。