HTTP響應與Cache-Control: no-cache
vs Cache-Control: max-age=0, must-revalidate, proxy-revalidate
有什麼區別?「no-cache」vs「max-age = 0,必須重新驗證,代理重新驗證」
瀏覽器是否認爲完全相同?
HTTP響應與Cache-Control: no-cache
vs Cache-Control: max-age=0, must-revalidate, proxy-revalidate
有什麼區別?「no-cache」vs「max-age = 0,必須重新驗證,代理重新驗證」
瀏覽器是否認爲完全相同?
一般來說,不同瀏覽器的行爲並不完全相同。 HTTP緩存標頭。我記得一個很小的差異(找不到源代碼,所以我不是100%,這是確切的行爲描述),Chrome(afair)將max-age=0
當作max-age=10
(假設行爲差異爲max-age=0
)足夠小,但性能影響仍然有意義)。
在任何情況下,這裏有瀏覽器之間的HTTP緩存行爲差異的一些其它例子:
Pragma
),其他人將優先選擇HTTP 1.1緩存頭no-store
指令和存儲數據的一些瀏覽器會忽略no-cache
指令public
後規定,有的則沒有。max-age
當vary
存在時。我的整體建議是使用這兩種Cache-Control: no-cache, must-revalidate, proxy-revalidate
,pragma: no-cache
(HTTP 1.0)和Expires: 0
,以確保所有的瀏覽器不緩存這些標題的內容。
你是如何得到Chrome處理'max -age = 0'好像我們指定'max-age = 10'? – Pacerier 2014-08-15 17:31:29
我記得這個,但是我找不到源代碼。我會通過預訂更新答案,直到找到合適的來源。無論如何:我可以帶來更多不同於瀏覽器的示例。 HTTP緩存標頭。 – 2014-08-15 18:01:43
語義上;不多。儘管如此,它更短。 – 2013-04-20 07:08:43
@MarkNottingham。這是否也支持*現實世界?瀏覽器真的把它們當作*相同*嗎? – Pacerier 2013-04-20 10:29:37
我有一段時間沒有測試過,但我相信如此。 – 2013-04-22 01:21:20