【问题标题】:Fiddler showing cache hits?提琴手显示缓存命中?
【发布时间】:2011-05-01 20:42:59
【问题描述】:

我只是想检查一下我的网站 HTTP 缓存是否正常工作,尤其是在我迁移到 CDN 之后。

现在我同时使用了 Fiddler 和 Firebug,我看到的是每次导航到页面时都会请求页面上的所有脚本和图像。响应码为 200。

如果我在 Chrome 中打开该页面,开发人员工具也会向我显示所有这些请求,但 Chrome 还会告诉我这些请求是从缓存中提供的。 Fiddler 中没有列出 Chrome 请求(而 FF 和 IE 请求有)。

我最初的假设是,如果 Firefox 或 Internet Explorer 从其缓存中获取文件,则该请求根本不会出现在 Fiddler 中。

我检查了我的缓存标头,因为 Chrome 的行为与我预期的完全一样,所以我问自己我对 Fiddler 的假设是否错误。启动 Fiddler 时 FF/IE 的行为是否不同? Fiddler 是否显示缓存命中?

【问题讨论】:

    标签: caching fiddler http-caching


    【解决方案1】:

    作为网络代理,Fiddler 无法显示缓存中的任何内容。如果您在 Fiddler 中看到请求,则该请求是通过网络发送的。

    要记住的一点是,如果您正在刷新页面(例如使用按钮或 F5),则可以绕过缓存;见http://blogs.msdn.com/b/ieinternals/archive/2010/07/08/technical-information-about-conditional-http-requests-and-the-refresh-button.aspx

    【讨论】:

    • 本地缓存还是服务器缓存? 304 是缓存响应吧?
    • @Ethan 我想检查本地缓存。我没有得到任何 304,所有答案都是 200。
    • MSFT- :我知道 F5 键。我刚刚用 Stackoverflow 站点和 Fiddler 和 FF4 做了一个测试。因此,在此页面的标题中,我有我的用户名。当我单击它时,我会在 Fiddler 请求中看到 favicon.ico 和 jquery 以及 all.css。如果我再次单击该链接(不是 F5),我会再次看到相同的请求。那么,对于我在这里调用的每个页面,jquery 是否都是从 Google 的服务器加载的?我希望不是。那么,为什么这些请求会在 Fiddler 中列出???
    • 您是否也从 google/stackoverflow 获得 200?我没有使用过提琴手,但所有浏览器都必须发送请求,无论它们在缓存中有什么。它们只包含一个标头,询问服务器版本是否自缓存版本以来被修改。然后服务器可以响应 304(未修改)。
    • 这个“所有浏览器都必须发送请求,无论它们在缓存中有什么。”是不正确的。仅当不知道缓存版本是新鲜的时才会发送条件请求(有资格获得 304 响应)。请参阅blogs.msdn.com/b/ie/archive/2010/07/14/… 了解更多信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多