我想在我的浏览器中缓存html页面,并且我将它绑在localhost上,并且我在响应头中发送了正确的标头(使用PHP)但是浏览器仍未缓存响应,并且每次我请求相同的资源,它连接到服务器并从那里获得响应
在我的html页面顶部,我正在使用
<?php
header("Cache-Control:max-age=36000");
?>
Response
标题是
HTTP / 1.1 200确定
日期: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
缓存控制:max-age = 36000
Accept-Ranges:none
变化:接受编码
内容编码:gzip
内容长度:154
Keep-Alive:timeout = 3,max = 100
连接:Keep-Alive
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
我应该发送任何其他响应标头告诉浏览器缓存响应吗?
答案 0 :(得分:0)
PHP(当然)自己添加了一些神奇的缓存控制头。不可能简单地用header()覆盖那些,你必须使用session_cache_limiter()来设置不同的缓存控制头,或者session_cache_limiter(&#39;&#39;)一起禁用那些神奇的头文件。< / p>