2012-06-21 35 views
0

兩個我想了解一下無論是在給定文件的情況下(.js文件,的CSS等),一般問題您設置一個Expires頭,並且還當你有沒有:瀏覽是否提供緩存文件,如果其名稱或內容更改?

  1. 只有當文件名稱已更改時,瀏覽器是否請求新文件(不提供緩存的文件)?瀏覽器不要評估文件內容也正確嗎?

  2. ALL瀏覽器的行爲同有關問題#1還是有已知移動它們之間的差異,例如(iOS的Safari等)?

謝謝你, 添

+1

瀏覽器檢查內容的唯一方法是讓它下載文件的新副本,因此刷新緩存。 – Blender

回答

2
  1. 瀏覽器無法查看文件內容,除非它下載文件。 (例如,瀏覽器不會請求校驗和)。它通常將內容檢查(或時間戳檢查)的任務委託給服務器。瀏覽器將發送帶有時間戳的if-modified-since標頭。網絡服務器將檢查文件是否已經改變,如果沒有改變,它將發送304未修改的代碼。

  2. 所有瀏覽器都遵循這個基本協議。服務器在決定文件是否更改方面可能會有所不同。

+0

- @ user237815,謝謝你的回答,最後一個問題:如何設置expires頭文件是否適合用來下載或不用決策樹? –

+1

好問題。我不知道expires頭和if-modified-since之間的相互作用。規範在這裏:http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21 – ccleve

相關問題