现在我正在尽量减少对我网站的304个请求。我已经实现了这里要求的建议:
Asking browsers to cache as aggressively as possible
然而,无论我做什么,一些图像都拒绝从缓存中拉出,即使它们与其他拉出的图像类似。现在我们使用IIS 7.5和chrome来查看网络流量。
以下是将从缓存中提取的图像btn-blue.png的初始响应示例:
Accept-Ranges:bytes
Content-Length:49585
Content-Type:image/png
Date:Fri, 27 Jan 2012 16:02:26 GMT
ETag:"26cb96cdccc1:0"
Expires:Sat, 31 Dec 2012 00:00:00 GMT
Last-Modified:Thu, 26 Jan 2012 20:49:46 GMT
Server:Microsoft-IIS/7.5
X-Powered-By:ASP.NET
以下是图片响应标题的示例,topnav-blue-poweredbyipipeline.png,永远不会从缓存中提取:
Accept-Ranges:bytes
Content-Length:2680
Content-Type:image/png
Date:Fri, 27 Jan 2012 16:02:17 GMT
ETag:"b85767a6cdccc1:0"
Expires:Sat, 31 Dec 2012 00:00:00 GMT
Last-Modified:Thu, 26 Jan 2012 20:49:47 GMT
Server:Microsoft-IIS/7.5
X-Powered-By:ASP.NET
知道为什么会拉,而另一个不会?
答案 0 :(得分:5)
所以我们弄明白为什么会这样。事实证明,如果您使用Enter按钮导航到网页Chrome将积极使用其缓存。如果您使用刷新按钮,Chrome会为几乎所有元素拨打电话。
答案 1 :(得分:0)
您链接的其他帖子中的所有内容都有一个Cache-Control:max-age =标头。你试过吗?我不认为expires和etag就足够了,我认为你也需要Cache-Control,但我还没有真正测试过它。