设置在IIS7中的图像上过期http标头

时间:2014-02-12 14:01:44

标签: http caching iis iis-7 http-headers

我正在尝试将图片设置为缓存。没有设置,我从服务器得到304响应,这意味着虽然我的每个图像都有100个请求,但实际上并没有传输图像。

现在我想告诉浏览器使用缓存中的图像,而不要求查看它是否被修改。

我进入IIS7并单击包含我的图像的文件夹,选择HTTP Response Headers并单击Set Common Headers。

在对话框中,我检查了“Expire Web Content”框,然后选择“After”选项并选择1天(我也尝试了2天)。

我单击确定并运行iisreset(虽然我认为这不是必需的)。我在网络选项卡处于活动状态时打开Internet Explorer并加载页面。浏览器加载图像。它们是200个响应,我检查标题并找到“Cache-Control:max-age = 172800”很棒。

现在我重新加载页面(单击加载相同页面的链接,或者单击地址栏并按Enter键...不单击刷新)并再次检查网络选项卡。我仍然从服务器获得304次回复,浏览器没有直接从缓存中加载图像。

我需要做些什么才能让浏览器从缓存加载?

注意:这在Chrome中正常运行(当然,我的生活故事)

注2: 有人注意到有时候IE会说304虽然它真的很难缓存。 我没有看到它通过Fiddler,但是,我在IE9的网络选项卡中看到它说响应时间是327毫秒。对于稍后加载的图像,此时间似乎会增加。因此,在100个图像中,前10个图像在16-70毫秒之间有反射,而最后10个图像的反应超过800毫秒。花了327ms的那个在中间的某个地方。 IE真的从缓存中检索效率低吗?

另外,我应该注意有些文件,例如一些css文件,IE说是304,但是响应时间是<1ms,我假设这意味着它实际上是从缓存中获得它而不通过网络。这与我的图像的情况不同,其中IE实际上显示了几百毫秒的响应时间。

0 个答案:

没有答案