【发布时间】:2017-03-29 13:01:02
【问题描述】:
我想在我的浏览器中缓存 html 页面,我将它绑定在本地主机上,并且我在响应头中发送正确的头(使用 PHP),但浏览器仍然没有缓存响应,每次我请求相同的资源,它连接到服务器并从那里获得响应
在我正在使用的 html 页面的顶部
<?php
header("Cache-Control:max-age=36000");
?>
Response 标头是
HTTP/1.1 200 正常
日期:格林威治标准时间 2016 年 11 月 15 日星期二 14:45:37
服务器:Apache/2.4.16 (Win32) OpenSSL/1.0.1p PHP/5.6.12
X-Powered-By:PHP/5.6.12
缓存控制:max-age=36000
接受范围:无
变化:接受编码
内容编码:gzip
内容长度:154
保持活动状态:超时=3,最大值=100
连接:保持活动状态
内容类型:文本/html; charset=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
我应该发送任何其他响应标头来告诉浏览器缓存响应吗?
【问题讨论】: