根據快取策略的不同主要可以分為兩種型別:強制快取
與對比快取
所謂強制快取是指,請求網路資料時,如果本地存在快取資料且快取資料有效,則直接使用快取資料,不必進行網路請求;否則通過網路請求獲取資料。
主要就是下面兩個字段
(參考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協議的伺服器必須要有一套數字證書...