2012-01-27 46 views
4

在提琴手中,有没有什么方法可以知道某段代码(jscript,jquery,css)是从本地缓存加载还是从服务器下载。我认为这可能会在Web会话中以不同颜色表示,但无法找到这些颜色的图例。如何知道代码是否来自本地缓存vs服务器

回答

4

如果您看到304 Not Modified响应,那意味着客户端发出了有条件的请求,并且服务器发出信号“无需下载,即可缓存最新版本”。这是一个缓存响应的“类”。

但是,对于某些实体,甚至不会发送有条件的请求(Expires头将来等 - 见RFC2616)。那些根本不会出现在Fiddler中,因为根本没有请求 - 客户可能会认为缓存版本是新鲜的。

什么你可以肯定会看到的非缓存资源 - 什么回来了响应代码从2xx范围应该在非缓存(除非有上游的严重错误配置的缓存代理,但这些都是罕见时下) 。

您可以清除缓存并打开页面。保存这些结果。然后再次打开页面 - 查看与第一次加载相比缺少的内容;那些被缓存。

+0

我应该在哪里寻找这些304s?有一些内容我认为是在缓存中,但当我在WebSessions下的Result列中看到它们被阻止为200.我错过了什么? – imak 2012-01-27 18:09:07

+1

通常出现200s的同一列。 200是“OK” - 没有被缓存。 304是“未修改” - 检查新鲜度,然后从缓存中使用。如果你看到所有200个,那么这些不会被缓存;但可能有其他对象完全不被检查并直接从缓存中获取。 – Piskvor 2012-01-27 18:10:12

2

Fiddler是一个HTTP代理,因此它根本不显示缓存的内容。

+0

它显示'304 Not Modified'响应,但是 - 那些表示“你已经有这个,从本地缓存中提供它”。但是你没有必要有条件地要求未过期的实体是正确的。 – Piskvor 2012-01-27 18:01:21

+0

好的,有没有任何工具可以用来确定哪些网页内容(图像,脚本等)从cahce和服务器使用。我听说萤火虫可以用于它,但不知道IE版本是否可用。有什么想法吗? – imak 2012-01-27 18:06:58

+0

它也显示304?它是WebSessions下的结果列吗? – imak 2012-01-27 18:07:59

相关问题