2015-11-20 11 views
17

我知道這是一個簡單的問題,我相信沒有任何機構會將此標記爲重複問題,因爲我已經遍尋搜索結果。所以我的問題是Http的Cache控制機制中max-age和max-stale之間的區別是什麼,我已經在here中讀過它,但是我覺得它很複雜,所以如果有人能解釋這個呢?這將是很大的幫助緩存控制機制中max-age和max-stale之間的差別

回答

12

RFC 7234解釋說:

「最大年齡」的請求指令表明該客戶端是 不願意接受年齡大於 指定秒數的響應。除非最大陳舊請求指令 也存在,否則客戶不願意接受陳舊的 響應。

...

「最大 - 陳舊的」請求指令表明該客戶端是 願意接受已超過其新鮮度 一生的響應。如果max-stale被分配了一個值,則客戶端 願意接受超過其新鮮度生命週期 的響應不超過指定的秒數。

也就是說,max-age是響應就可以了,只要Cache-Control從源服務器表明,它仍然是新鮮的最古老的。 max-stale表示,即使已知響應已過時,只要它僅在該秒數後陳舊,您也會接受它。

作爲每Serving Stale Responses

緩存應該產生與110一個警告報頭字段警告代碼 (見第5.5.1節)中過期響應。

所以,如果你指定max-stale並收到了不再視爲新鮮響應,Warning頭會讓你知道。

+0

很好的答案,thanx – droidev