我們一直在使用Chrome緩存Glassfish服務器上的資源時遇到問題。不會發送expires和no-cache標頭,Chrome會緩存資源(大約4 MB SWF文件) - 儘管存在Last-Modified標頭。如果過期和/或沒有緩存標頭未設置,Google Chrome會緩存資源多久?
有時Chrome將獲得304碼,其他時候它只是做了200(從高速緩存)。我知道304 - Chrome可能會檢查最新的最新修改日期和緩存版本來決定。但有些時候它會執行200(來自緩存),它不會返回任何標題信息,並顯示Chrome只是假設文件沒有被修改而不是檢查。
HTTP/S支持由瀏覽器靜態資源的本地緩存。最新的瀏覽器的一些 (如IE 7,Google Chrome)使用啓發式算法來確定 多久緩存沒有顯式緩存 頭的所有資源。
但是,這並沒有提供一個明確的答案。這種啓發式發佈在哪裏?我意識到可能沒有固定的答案(比如30天),但是一些通用的指導方針會很有用。此外,如果設置了Last-Modified,我不明白爲什麼Chrome不會首先檢查它。
它已發佈至Chrome源代碼可免費使用。 – cdeszaq 2012-03-16 16:19:21
嗨 - 您是否發現關於如何確定啓發式的更多信息?如果邏輯確實基於DEFAULT_CACHE_TIME,那麼顯示此設置的Chrome URI是否存在? – andrew 2013-06-29 00:50:50