摘要:開啟之后,瀏覽器在第一次將資源請求之后會緩存。在響應頭中,用于指示代理和使用何種緩存策略。在該時間內則使用緩存。題外話在使用對瀏覽器緩存進行測試過程中發現。在不設置的情況下,瀏覽器會根據自身的情況去取舍相關的緩存,可以從這查看。
為了提高站點的訪問速度,使用緩存來優化。緩存主要分為 強緩存和協商緩存。
協商緩存主要分為last-modified、etag。下面我主要通過代碼修改來表現各個緩存之間的區別。先討論協商緩存。last-modified表示文件的修改日期,如果文件做了修改那就應該重新獲取文件。last-modified是文件修改后根據服務器的時間生成。
如果我們修改了文件則會重新獲取,status就為200
再次刷新就會返回304表示緩存已經是最新不需要再更新。
請求中會詢問相關文件修改時間(If-Modified-Since)
請求
響應
ETag:是一個可以與Web資源關聯的記號(token)
如果文件被替換,就會生成唯一的etag。
替換前的文件
替換后的文件
PS: 如果是使用了多臺服務器做負載均衡的話,會出現etag不一致問題。Apache 的默認ETag的值總是由文件的索引節點(Inode)、大小(Size)、最后修改時間(MTime)決定,我們只需要去掉Inode即可
強緩存相比協商緩存更為徹底,在強緩存下瀏覽器不會對服務器發起請求。
強緩存:主要分為expires和cache-control
Expires: 表示存在時間,允許客戶端在這個時間之前不去檢查(發請求),等同max-age的 效果。但是如果同時存在,則被Cache-Control的max-age覆蓋。 格式: Expires :時間,后面跟一個時間或者日期,超過這個時間后緩存失效。也就是瀏覽器發出請求之前,會檢查這個時間是否失效,若失效,則瀏覽器會重新發出請求。
開啟apache expires_mod之后,瀏覽器在第一次將資源請求之后會緩存。
Cache-Control
Cache-Control 在 HTTP 響應頭中,用于指示代理和 UA 使用何種緩存策略。比如:
no-cache 為本次響應不可直接用于后續請求(在沒有向服務器進行校驗的情況下)
no-store 為禁止緩存(不得存儲到非易失性介質,如果有的話盡量移除,用于敏感信息)
public為大家都可以緩存。
private為僅 UA 可緩存
cache-control中設置max-age 為最長的緩存時間。在該時間內則使用緩存。
設置為no-cache之后則不會再進行緩存。
在使用apache對瀏覽器緩存進行測試過程中發現。在不設置 cache-control的情況下,瀏覽器會根據自身的情況去取舍相關的緩存,可以從這查看。如果大家在服務器配置過程中發現,自己沒有配置任何的緩存信息但是瀏覽器卻緩存了資源就不用驚訝。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/103282.html
摘要:緩存緩存主要是通過請求和響應報文頭中的對應信息,來控制緩存的策略。就會返回一個的狀態碼,表示可以繼續使用客戶端本地緩存的數據,并刷新超時時間。與之相對的,則表示當前響應是針對單個用戶的,并非通用數據,因此不建議任何中間緩存對其進行緩存。 showImg(https://segmentfault.com/img/remote/1460000015383634?w=1080&h=720);...
摘要:已經得到越來越多的瀏覽器的支持,包括蘋果騰訊的內核。蘋果從開始,已經開始支持了。針對各種應用場景的多種緩存策略。在無網絡環境的情況,也可以做到離線緩存的效果,極大地提升頁面的用戶體驗。 什么是workbox,workbox有什么用途,為什么要使用它?在介紹workbox之前,我們來先大致了解一下service worker,有助于我們后面更好地去理解workbox。 一. servic...
摘要:在這里所講的緩存是計算機設備的緩存。三緩存的特征命中率命中率返回正確結果數請求緩存次數,命中率問題是緩存中的一個非常重要的問題,它是衡量緩存有效性的重要指標。 前言: 對于工作經驗僅僅只有一年的我來說, 寫這篇文章有些吃力,并且感覺有些理解還不夠透徹,但是還是鉚足了勁想啃啃緩存這塊硬骨頭。緩存是性能優化的一個必經之路,可以說用好了緩存,性能優化的路就走完一半了。 一、系統緩存 在知乎...
摘要:與瀏覽器緩存一瀏覽器對緩存的處理選項控制請求服務器策略是忽略資源的緩存策略的情況下額外強制請求服務器的意思。而節點只針對中的配置會覆蓋的配置。Nginx與瀏覽器緩存 一、瀏覽器對緩存的處理:Internet選項 ★ 控制請求服務器策略:是忽略資源的緩存策略的情況下額外強制請求服務器的意思。 ?★?檢查存儲的頁面較新版本 ? ? ? ? 1.每次訪問網頁時? ? ? ? ? ? ?...
摘要:開啟之后,瀏覽器在第一次將資源請求之后會緩存。在響應頭中,用于指示代理和使用何種緩存策略。在該時間內則使用緩存。題外話在使用對瀏覽器緩存進行測試過程中發現。在不設置的情況下,瀏覽器會根據自身的情況去取舍相關的緩存,可以從這查看。 為了提高站點的訪問速度,使用緩存來優化。緩存主要分為 強緩存和協商緩存。 協商緩存 主要分為last-modified、etag。下面我主要通過代碼修改來表現...
閱讀 1338·2021-11-11 16:54
閱讀 2385·2021-09-22 10:51
閱讀 2654·2019-08-30 15:44
閱讀 3206·2019-08-29 17:05
閱讀 1444·2019-08-29 17:01
閱讀 2898·2019-08-29 12:28
閱讀 2470·2019-08-26 13:50
閱讀 1731·2019-08-23 16:47