header("Cache-Control:max-age = 36000")在PHP中不工作


header("Cache-Control:max-age = 36000") Is not working in PHP

我想在浏览器中缓存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(")来禁用这些神奇的头。