計網回顧 HTTP快取

2021-10-22 07:24:57 字數 1014 閱讀 5471

根據快取策略的不同主要可以分為兩種型別:強制快取對比快取

所謂強制快取是指,請求網路資料時,如果本地存在快取資料且快取資料有效,則直接使用快取資料,不必進行網路請求;否則通過網路請求獲取資料。

主要就是下面兩個字段

(參考expires 響應頭包含日期/時間, 即在此時候之後,響應過期。

例如:expires: wed, 21 oct 2015 07:28:00 gmt

缺點:它使用的是乙個絕對時間,如果客戶端修改了本地時間,快取可能就會失效。

(參考它使用的是相對時間,例如它可以設定以下字段

max-age=

設定快取儲存的最大週期,超過這個時間快取被認為過期(單位秒)。與expires相反,時間是相對於請求的時間。

對比快取每次都會進行網路請求。請求網路資料時,如果本地存在快取資料且沒有過期,先要發給服務端進行校驗,來決定快取資料是否需要更新,如果需要更新則服務端會返回新的資料,如果不需要更新則返回304(not modified),讓客戶端直接使用快取資料。

在http協議中具體引數是通過head中的last-modified/if-modified-since來實現的,服務端返回last-modified引數,標記出資源最後修改的時間,客戶端詢問快取是否過期的時候將此時間資料放入if-modified-since引數中,如果快取資料可用則返回304狀態碼,否則直接返回介面資料以及更新後的last-modified引數

etag/if-none-match引數也常被用於快取的校驗,當客戶端請求資料時,服務端會返回資料以及etag資訊,etag為資源在服務端的唯一標識,客戶端再次請求資料的時候將會把標識資訊放在if-none-match引數中向服務端發起校驗,如果快取可用則返回304狀態碼,否則返回資料(狀態碼200)以及更新後的etag資訊。

計網 Http 強制快取和對比快取

對比快取 強制快取時,客戶端會先從本地快取裡面找,找到了就判斷快取是否過期。強制快取主要是兩個字段 expires和cache control expires標識快取到期時間,是乙個絕對時間,也就是說,他返回的是幾幾年幾幾月幾幾日幾幾時幾幾分幾幾秒,如果客戶端從他的快取的這個字段裡面找到這個時間,發...

計網 傳輸層

the transport layer 1.功能 1 傳輸層提 用程序之間的邏輯通訊 端到端的通訊 網路層提供的是主機之間的邏輯通訊。從通訊和資訊處理的角度看,傳輸層向它上面的應用層提供通訊服務,它屬於面向通訊部分的最高層,同時也是使用者功能中的最低層。傳輸層位於網路層之上,它為執行在不同主機上的程...

計網 HTTPS詳解

之前介紹了http協議,但它並不是完美的,因為它有以下幾個缺點 所以,更加安全的https協議應運而生,下面我來具體介紹https協議。1.客戶端發起https請求 使用者在瀏覽器裡輸入乙個https 然後連線到server的443埠。2.服務端的配置 採用https協議的伺服器必須要有一套數字證書...