YSlow建议。在IIS中,为什么默认情况下不会选中“启用内容过期”

时间:2011-03-19 02:28:44

标签: asp.net-mvc performance iis-6 yslow

我刚刚对我的网站运行了yslow,我对Expiry Headers有一个问题:YSlow给了我一个: F级添加过期标题。有20个静态组件没有远期到期日。这些都是css或js文件。

现在,当我转到IIS(6.0)并转到http标头选项卡时,不会选中启用内容过期。从reading this来看,这似乎是正确的事情,因为浏览器将缓存内容。所以我很困惑为什么yslow抱怨。此外,听起来好像浏览器会按修改日期缓存这些数据,所以这整个事情都没有意义吗?

因此,如果设置这个没有脑子,为什么这不是默认行为?

有人可以澄清一下。

2 个答案:

答案 0 :(得分:2)

这里没有矛盾。您需要做的是在包含静态内容的文件夹上设置内容过期。例如您的图像,CSS和脚本文件夹。您可以在IIS和其他Web服务器中基于文件夹设置内容过期。

答案 1 :(得分:0)

浏览器不知道哪些内容是“静态的”;它确实无法知道,而且yslow只是猜测,最有可能。它可能正确地猜测......但是在Web服务器中默认使用不正确的Expires值可能会导致浏览器缓存您根本不希望它们进行缓存的动态内容。

这就是为什么默认设置不是这样的原因。