不同的浏览器如何处理没有 Expires Header 的静态内容的缓存?
Posted
技术标签:
【中文标题】不同的浏览器如何处理没有 Expires Header 的静态内容的缓存?【英文标题】:How do different browsers handle caching for static content without an Expires Header? 【发布时间】:2010-10-26 07:32:56 【问题描述】:在一个站点上运行YSlow plugin 后,我看到recommendations 之一是将远期过期标头添加到脚本、样式表和图像中。
我向different question 询问了如何在 IIS 中进行设置,但实际上我只是对每个浏览器的行为方式感到好奇。
我已经读到 IE 会在每个浏览会话中缓存项目,因此一旦您在关闭浏览器后重新打开站点,它将需要重新加载所有内容。我相信 Firefox 会继续自己设置到期日期。我还听说通过 HTTPS 连接时 IE 根本不缓存。不过,我不确定这些是否准确,并且想知道是否有人可以澄清我可能有的任何误解。谢谢!
【问题讨论】:
【参考方案1】:您对 Firefox 设置自己的到期日期是正确的。请参阅此博文中的第二项:
http://blog.httpwatch.com/2008/10/15/two-important-differences-between-firefox-and-ie-caching/
IE 和 Firefox 一样,可以缓存基于 HTTPS 的内容。但是,您需要设置 Cache-Control: public 以在 Firefox 中跨浏览器会话进行持久缓存。请参阅此博客文章中的提示 #3:
http://blog.httpwatch.com/2009/01/15/https-performance-tuning/
【讨论】:
以上是关于不同的浏览器如何处理没有 Expires Header 的静态内容的缓存?的主要内容,如果未能解决你的问题,请参考以下文章