我刚刚对我的网站运行了yslow,我对Expiry Headers有一个问题:YSlow给了我一个: F级添加过期标题。有20个静态组件没有远期到期日。这些都是css或js文件。
现在,当我转到IIS(6.0)并转到http标头选项卡时,不会选中启用内容过期。从reading this来看,这似乎是正确的事情,因为浏览器将缓存内容。所以我很困惑为什么yslow抱怨。此外,听起来好像浏览器会按修改日期缓存这些数据,所以这整个事情都没有意义吗?
因此,如果设置这个没有脑子,为什么这不是默认行为?
有人可以澄清一下。
答案 0 :(得分:2)
这里没有矛盾。您需要做的是在包含静态内容的文件夹上设置内容过期。例如您的图像,CSS和脚本文件夹。您可以在IIS和其他Web服务器中基于文件夹设置内容过期。
答案 1 :(得分:0)
浏览器不知道哪些内容是“静态的”;它确实无法知道,而且yslow只是猜测,最有可能。它可能正确地猜测......但是在Web服务器中默认使用不正确的Expires值可能会导致浏览器缓存您根本不希望它们进行缓存的动态内容。
这就是为什么默认设置不是这样的原因。