2011-03-19 55 views
3

我刚刚在我的网站上运行了yslow,并且我有一个关于到期头文件的问题:YSlow给了我一个:添加过期标题的F级。有20个静态组件没有远期到期日期。这些都是css或js文件。YSlow建议。在IIS中,为什么默认情况下不会启用启用内容过期检查

现在,当我去IIS(6.0),并转到http标题选项卡,启用内容过期不会被选中。从reading this看来,这是正确的做法,因为浏览器会缓存内容。所以我很困惑为什么yslow在抱怨。此外,听起来像浏览器将缓存这个数据修改日期无论如何,这是整个事情无意义?

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

有人可以请澄清。

回答

2

这里没有矛盾。您需要做的是在文件夹中设置包含静态内容的内容到期日期。比如你的图片,css和脚本文件夹。您可以在IIS和其他Web服务器中以文件夹为单位设置内容过期时间。

+0

谢谢。但从我阅读的内容来看,浏览器无论如何都会缓存所有静态内容。那是对的吗?? – leora 2011-03-19 02:32:59

+1

@ooo。不对。如果文件没有内容过期或内容过短,浏览器将再次检索它。因此,请将静态文件文件夹的内容过期设置为安全。 – Keltex 2011-03-19 02:34:54

+0

谢谢。我在内容和脚本文件夹中将内容过期设置为1天,但当我重新加载站点时,YSlow仍然在添加到期头部时给我一个F。有什么想法吗 ?? – leora 2011-03-19 02:35:56

0

浏览器不知道什么内容是“静态”或不是;它实际上没有办法知道,yslow只是在猜测,很可能。这可能是猜测正确......但在Web服务器中默认情况下具有错误的Expires值可能会导致浏览器缓存您不希望缓存的动态内容。

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

相关问题