16

我的系统是 Windows 7 x64,Chrome 20.0.1132.57 m。

在我的 HTTP 响应标头中,我有:

Cache-Control: public, max-age=1000
Expires: *some date*

在 IE & FF 中,页面缓存在本地,当我尝试通过键入 URL 并按 Enter 再次访问时,没有发送请求并且页面正确显示。但是在 Chrome 中,它总是向服务器发送一个带有以下标头的请求:

Cache-Control: max-age=0

我不希望客户端向我的服务器发送请求然后回复 304。我想节省往返时间。

4

2 回答 2

16

测试时要小心。我注意到在 Chrome 版本 20 中,如果我按 F5 重新加载页面,然后在网络面板中我会看到新请求。Hoewer 如果我将光标放在标题栏上,在当前页面 url 之后,然后按 Enter,我会从缓存中获取资源,而标题被设置为缓存。

最好只使用最大年龄。Max age 和 Expires 是相同的,但在 max age 中你指定了持续时间。

请参阅: http ://betterexplained.com/articles/how-to-optimize-your-site-with-http-caching/ 方法 3 和方法 4。

于 2012-08-07T15:17:01.430 回答
3

我有类似的问题,我发现如果您使用新的 chrome 选项卡发出请求,它将起作用。

于 2014-11-16T12:35:11.103 回答