兩個我想了解一下無論是在給定文件的情況下(.js文件,的CSS等),一般問題您設置一個Expires頭,並且還當你有沒有:瀏覽是否提供緩存文件,如果其名稱或內容更改?
只有當文件名稱已更改時,瀏覽器是否請求新文件(不提供緩存的文件)?瀏覽器不要評估文件內容也正確嗎?
做ALL瀏覽器的行爲同有關問題#1還是有已知移動它們之間的差異,例如(iOS的Safari等)?
謝謝你, 添
兩個我想了解一下無論是在給定文件的情況下(.js文件,的CSS等),一般問題您設置一個Expires頭,並且還當你有沒有:瀏覽是否提供緩存文件,如果其名稱或內容更改?
只有當文件名稱已更改時,瀏覽器是否請求新文件(不提供緩存的文件)?瀏覽器不要評估文件內容也正確嗎?
做ALL瀏覽器的行爲同有關問題#1還是有已知移動它們之間的差異,例如(iOS的Safari等)?
謝謝你, 添
瀏覽器無法查看文件內容,除非它下載文件。 (例如,瀏覽器不會請求校驗和)。它通常將內容檢查(或時間戳檢查)的任務委託給服務器。瀏覽器將發送帶有時間戳的if-modified-since標頭。網絡服務器將檢查文件是否已經改變,如果沒有改變,它將發送304未修改的代碼。
所有瀏覽器都遵循這個基本協議。服務器在決定文件是否更改方面可能會有所不同。
- @ user237815,謝謝你的回答,最後一個問題:如何設置expires頭文件是否適合用來下載或不用決策樹? –
好問題。我不知道expires頭和if-modified-since之間的相互作用。規範在這裏:http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21 – ccleve
瀏覽器檢查內容的唯一方法是讓它下載文件的新副本,因此刷新緩存。 – Blender