對于瀏覽器緩存,相信很多開發(fā)者對它真的是又愛又恨。一方面極大地提升了用戶體驗,而另一方面有時會因為讀取了緩存而展示了“錯誤”的東西,而在開發(fā)過程中千方百計地想把緩存禁掉。那么瀏覽器緩存究竟是個什么樣的神奇玩意呢?

什么是瀏覽器緩存:

  簡單來說,瀏覽器緩存就是把一個已經(jīng)請求過的Web資源(如html頁面,圖片,js,數(shù)據(jù)等)拷貝一份副本儲存在瀏覽器中。緩存會根據(jù)進來的請求保存輸出內(nèi)容的副本。當(dāng)下一個請求來到的時候,如果是相同的URL,緩存會根據(jù)緩存機制決定是直接使用副本響應(yīng)訪問請求,還是向源服務(wù)器再次發(fā)送請求。比較常見的就是瀏覽器會緩存訪問過網(wǎng)站的網(wǎng)頁,當(dāng)再次訪問這個URL地址的時候,如果網(wǎng)頁沒有更新,就不會再次下載網(wǎng)頁,而是直接使用本地緩存的網(wǎng)頁。只有當(dāng)網(wǎng)站明確標(biāo)識資源已經(jīng)更新,瀏覽器才會再次下載網(wǎng)頁。至于瀏覽器和網(wǎng)站服務(wù)器是如何標(biāo)識網(wǎng)站頁面是否更新的機制,將在后面介紹。

萬碼學(xué)堂,電腦培訓(xùn),計算機培訓(xùn),Java培訓(xùn),JavaEE開發(fā)培訓(xùn),青島軟件培訓(xùn),軟件工程師培訓(xùn)

  上圖就是使用了緩存的栗子,在頁面請求之后,web資源都被緩存了,在后面的重復(fù)請求中,可以看到許多資源都是直接從緩存中讀取的(from cache),而不是重新去向服務(wù)器請求。

 

為什么使用緩存:

(1)減少網(wǎng)絡(luò)帶寬消耗

網(wǎng)友評論