简事二三 之 http缓存机制
生活随笔
收集整理的這篇文章主要介紹了
简事二三 之 http缓存机制
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
http緩存相關概念:
請求頭:瀏覽器向服務器發(fā)送請求的數(shù)據(jù),資源
響應頭:服務器向瀏覽器相應數(shù)據(jù),告訴瀏覽器我是誰,我要怎么做。如,我是nginx,給你的資源是正確的200 還是錯誤的404,我告訴你需要緩存多久。
緩存優(yōu)先級: pragma → cache-control → expires → ETag → last-modified
Http1.0: Pragma(已廢棄), expires
Http1.1: Cache-control, ETag, Last-Modified
http緩存可以分為兩類: 強制緩存,協(xié)商緩存
1). Expires: 緩存過期時間,GMT時間,以客戶端時間作為參考
2). Cache-control: 相對時間,屬性值分為:
1)Last-Modified:定義上一次修改時間,再次請求時帶請求頭if-modified-since,與服務器進行對比
2)ETag:加密字符串,再次請求時帶請求頭if-none-match,與服務器對比
對于強制緩存,服務器通知瀏覽器一個緩存時間,在緩存時間內,下次請求直接用緩存,不在時間內則執(zhí)行協(xié)商緩存策略。
對于協(xié)商策略,將緩存信息中的ETag和Last-Modified通過請求發(fā)送給服務器,有服務器校驗,返回304狀態(tài)碼時,瀏覽器直接使用緩存。
瀏覽器第一次請求:
瀏覽器請求 -> 無緩存 -> 向web服務器請求 -> 請求響應,緩存協(xié)商 -> 呈現(xiàn)
瀏覽器再次請求:
常見的請求頭:
常見的響應頭:
總結
以上是生活随笔為你收集整理的简事二三 之 http缓存机制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 日期型转json格式(springboo
- 下一篇: Go语言_通神路五耀篇(3)