日常 HTTP的快取

2021-09-27 09:05:58 字數 1855 閱讀 1626

web快取:

1.可以自動儲存常見文件副本的http裝置,當web請求抵達快取時,如果存在快取副本,就直接從本地儲存裝置返回,而不是去源伺服器獲取

2.快取命中和未命中

3.http再驗證,檢測伺服器上的內容是否發生了變化,新鮮度檢測規則。快取對副本進行再驗證時,會向伺服器傳送乙個小的再驗證請求,如果沒變化,伺服器會返回304 not modified,get請求中新增if-modified-since會進行再驗證

4.快取命中率:由快取提供服務的佔比,命中率與快取大小,使用者興趣相似點,資料的變化,快取配置等有關,40%的命中率是合理的,對降低整體時延很有好處

5.位元組命中率:快取提供的位元組流量在傳輸流量中的佔比,對節省頻寬很有利

6.私有快取,比如web瀏覽器

7.共有**快取,實現層次化的多級快取很有意義

8.網狀快取,內容路由,對等快取;有些不是簡單的層次結構而是構建複雜的網狀關係快取,這些**快取也可以稱為內容路由器,icp和htcp協議擴充套件了http的對等快取兄弟快取

9.快取處理步驟:接收請求=>解析請求=>查詢本地副本(獲取源伺服器)=>新鮮度檢測=>建立響應=>傳送響應=>記錄日誌

10.文件過期:伺服器返回頭資訊cache-control 和expires,為文件附加過期時間。cache-control:max-age=484200是相對時間,儲存的秒數,用的更多一些

11.伺服器再驗證:if開頭的條件方法頭資訊進行再驗證

if-modified-since:日期

if-none-match:實體標籤再驗證

12.開啟新視窗 如果指定cache-control的值為private、no-cache、must-revalidate,那麼開啟新視窗訪問時都會重新訪問伺服器。而如果指定了max-age值,那麼在此值內的時間裡就不會重新訪問伺服器,例如:cache-control: max-age=5 表示當訪問此網頁後的5秒內再次訪問不會去伺服器.在位址列回車 如果值為private或must-revalidate,則只有第一次訪問時會訪問伺服器,以後就不再訪問。如果值為no-cache,那麼每次都會訪問。如果值為max-age,則在過期之前不會重複訪問。

按後退按扭 如果值為private、must-revalidate、max-age,則不會重訪問,而如果為no-cache,則每次都重複訪問.按重新整理按扭 無論為何值,都會重複訪問.cache-control:no-cache就表示不快取

13.apache的配置:

3.注釋掉apache配置檔案中的:

#expiresdefault a0

#header set cache-control "private, must-revalidate, max-age=0, proxy-revalidate, no-transform"

#header set pragma "no-cache"

expiresactive on

expiresdefault "access plus 300 seconds"

14.php檔案中的響應頭:

http學習 http的快取控制

由於請求 應答模式的通訊成本比較高,所以有必要將某些資料進行快取,從而節省頻寬。快取是優化系統效能的重要手段,http 傳輸的每乙個環節中都可以有快取 2.1 快取控制的流程 瀏覽器發現快取無資料,於是傳送請求,向伺服器獲取資源 伺服器響應請求,返回資源,同時標記資源的有效期 瀏覽器快取資源,等待下...

HTTP協議的快取

http的快取主要是通過請求和相應報文頭部的幾個欄位來控制快取的。也就是cache control後面的字段 快取未更改的資源 etag頭的乙個典型用例是快取未更改的資源。如果使用者再次訪問給定的url 設有etag欄位 顯示資源過期了且不可用,客戶端就傳送值為etag的if none matchh...

http快取的理解

瀏覽器第一次向乙個web伺服器發起http請求後,伺服器會返回請求的資源,並且在響應頭中新增一些有關快取的字段如 cache control expires last modified etag date等等。之後瀏覽器再向該伺服器請求該資源就可以視情況使用強快取和協商快取。如圖紅線所示的過程代表強...