2012-01-27 79 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

相關問題