關於瀏覽器快取問題304響應狀態簡單介紹
本章節將介紹一下關於http請求304狀態內容,其實也就是瀏覽器快取問題。
下面先看一個圖片:
狀態是304的相關內容並不是從伺服器下載的,而是讀取的本地快取的內容。
這對於優化網站的效能具有很重要的意義,充分利用好快取,可以極大提高頁面瀏覽速度。
下面就介紹一下關於瀏覽器快取的相關知識,需要的朋友可以做一下參考。
瀏覽器可以快取訪問過的網頁檔案,快取的內容不僅僅有網頁檔案,還包括上一次伺服器發過來的該檔案的最後伺服器修改時間。
If-Modified-Since是標準的HTTP請求頭標籤,它對應的就是伺服器傳送過來的該檔案的最後伺服器修改時間。
在傳送http請求的時候,就會將這個最後修改的時間傳送到伺服器,然後伺服器會將這個時間與伺服器上當前檔案最後修改時間進行比對,如果時間一致,方式如下:
(1).那麼返回HTTP狀態碼304(不返回檔案內容),客戶端接到之後,就直接把本地快取文 件顯示到瀏覽器中。
(2).如果時間不一致(說明伺服器有了更新的檔案),就返回HTTP狀態碼200和新的檔案內容,客戶端接到之後,會丟棄舊檔案,把新檔案 快取起來,並顯示到瀏覽器中。
程式碼例項分析:
現在我們在伺服器建立一個簡單的html檔案,然後使用瀏覽器進行請求,下面是使用Fiddler捕獲相關資訊。
圖示如下:
(1).因為是第一次訪問該頁面,客戶端發請求時,請求頭中沒有If-Modified-Since標籤。
(2).伺服器返回的HTTP狀態碼是200,併傳送頁面的全部內容。
(3).伺服器返回的HTTP頭標籤中有Last-Modified,告訴客戶端頁面的最後修改時間。
下面我們重新整理一下頁面,再進行一次請求,圖示如下:
(1).客戶端發HTTP請求時,使用If-Modified-Since標籤,把上次伺服器告訴它的檔案最後修改時間 返回到伺服器端了。
(2).因為檔案沒有改動過,所以伺服器返回的HTTP狀態碼是304,沒有Last-Modified,也沒有傳送頁面的內容。
下面我們修改一下網頁檔案,Fiddler捕獲的請求資訊如下圖:
(1).客戶端發HTTP請求時,使用If-Modified-Since標籤,把上次伺服器告訴它的檔案最後修改時間 返回到伺服器端了。
(2).因為檔案被改動過,兩邊時間不一致,所以伺服器返回的HTTP狀態碼是200,併傳送新頁面的全 部內容。
(3).伺服器返回的HTTP頭標籤中有Last-Modified,告訴客戶端頁面的新的最後修改時間。
清除瀏覽器快取:
在實際應用中,可能並不需要瀏覽器快取,但是也不能要求使用者去人為的手動清空瀏覽器快取。
所以需要使用一些技巧實現此功能,具體可以參閱js如何實現清空瀏覽器快取程式碼例項一章節。
相關文章
- 理解瀏覽器快取以及304狀態碼瀏覽器快取
- js獲取瀏覽器相關資訊簡單介紹JS瀏覽器
- javascript for in語句瀏覽器相容問題簡單介紹JavaScript瀏覽器
- getBoundingClientRect()瀏覽器相容問題簡單介紹GCclient瀏覽器
- 瀏覽器快取機制介紹瀏覽器快取
- vuex狀態管理與瀏覽器快取Vue瀏覽器快取
- 谷歌瀏覽器怎麼清除快取 chrome瀏覽器清理快取方法介紹谷歌瀏覽器快取Chrome
- 關於瀏覽器快取我知道多少瀏覽器快取
- 前端優化:瀏覽器快取技術介紹前端優化瀏覽器快取
- 真的只是簡單瞭解下瀏覽器快取瀏覽器快取
- 關於瀏覽器快取問題(圖片更換後,頁面仍優先讀取快取)瀏覽器快取
- 瀏覽器核心的種類簡單介紹瀏覽器
- 瀏覽器渲染頁面過程簡單介紹瀏覽器
- IE瀏覽器關於ajax的快取機制瀏覽器快取
- Caffeine快取的簡單介紹快取
- 瀏覽器快取瀏覽器快取
- gulp外掛解決瀏覽器快取問題瀏覽器快取
- 如何解決ie瀏覽器的快取問題瀏覽器快取
- 簡易筆記:瀏覽器快取策略筆記瀏覽器快取
- 瀏覽器快取策略瀏覽器快取
- Nginx瀏覽器快取Nginx瀏覽器快取
- sessionStorage 瀏覽器快取Session瀏覽器快取
- 瀏覽器快取原理瀏覽器快取
- 瀏覽器快取篇瀏覽器快取
- 實現微信內建瀏覽器線上支付簡單介紹瀏覽器
- 相容各個瀏覽器的scrolltop屬性簡單介紹瀏覽器
- 瀏覽器相關問題瀏覽器
- 關於UC瀏覽器相容scroll事件問題瀏覽器事件
- IE瀏覽器下js無法獲取隱藏圖片尺寸簡單介紹瀏覽器JS
- 瀏覽器核心介紹瀏覽器
- 瀏覽器快取和webpack快取配置瀏覽器快取Web
- HTTP狀態碼查詢簡單介紹HTTP
- hibernate一二級快取簡單介紹快取
- 前端面試瀏覽器系列:瀏覽器快取前端面試瀏覽器快取
- IE瀏覽器中ajax使用快取資料的問題瀏覽器快取
- 專用IE瀏覽器的if判斷語句簡單介紹瀏覽器
- 使用谷歌瀏覽器進行斷點除錯簡單介紹谷歌瀏覽器斷點除錯
- 關於現代瀏覽器的 back-and-forward 快取機制瀏覽器Forward快取