談談對http緩存的理解

http每次獲取響應數據是根據請求頭部標籤來判斷是從緩存直接取數據,還是重新從服務器去拿。

1.http的緩存分類:

1.強制緩存:需要服務器參與判斷,當第一次發送請求時,服務器會返回緩存過期時間,那下次請求時,請求時間如果小於到期時間,就可以直接去緩存中取值。否則不適用,無需再向服務器詢問。(http1.0使用Expires來返回到期時間,即Expires的值就是到期時間。在http1.1被Cache-Control替代)

2.對比緩存:需要服務器參與判斷,當第一次發送請求時,服務器會把修改時間(緩存標識Last-Modified/If-Modified-Since)數據一起發到客戶端緩存中,當下一次請求時,就會把修改時間一起發送到服務器,如果修改時間一致,那麼服務器就返回304,那就可以去緩存中取值。否則返回200,則需要重新去服務器請求數據。

ETag 是標識碼由服務器返回,下次請求時跟服務器的If-None-Match對比得知是否去緩存取值。

強制緩存優先級高於對比緩存。

 

 

參考文章:https://juejin.im/post/5e5b50eb6fb9a07cae136773#heading-6

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章