Nginx中浏览器缓存的执行流程
生活随笔
收集整理的這篇文章主要介紹了
Nginx中浏览器缓存的执行流程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
瀏覽器緩存的執行流程
?
HTTP協議中和頁面緩存相關的字段,我們先來認識下:
| Expires | 緩存過期的日期和時間 |
| Cache-Control | 設置和緩存相關的配置信息 |
| Last-Modified | 請求資源最后修改時間 |
| ETag | 請求變量的實體標簽的當前值,比如文件的MD5值 |
(1)用戶首次通過瀏覽器發送請求到服務端獲取數據,客戶端是沒有對應的緩存,所以需要發送request請求來獲取數據;
(2)服務端接收到請求后,獲取服務端的數據及服務端緩存的允許后,返回200的成功狀態碼并且在響應頭上附上對應資源以及緩存信息;
(3)當用戶再次訪問相同資源的時候,客戶端會在瀏覽器的緩存目錄中查找是否存在響應的緩存文件
(4)如果沒有找到對應的緩存文件,則走(2)步
(5)如果有緩存文件,接下來對緩存文件是否過期進行判斷,過期的判斷標準是(Expires),
(6)如果沒有過期,則直接從本地緩存中返回數據進行展示
(7)如果Expires過期,接下來需要判斷緩存文件是否發生過變化
(8)判斷的標準有兩個,一個是ETag(Entity Tag),一個是Last-Modified
(9)判斷結果是未發生變化,則服務端返回304,直接從緩存文件中獲取數據
(10)如果判斷是發生了變化,重新從服務端獲取數據,并根據緩存協商(服務端所設置的是否需要進行緩存數據的設置)來進行數據緩存。
總結
以上是生活随笔為你收集整理的Nginx中浏览器缓存的执行流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nginx中浏览器缓存的相关概念
- 下一篇: Nginx关于浏览器缓存相关的配置指令