最近面試,被問到了http的相關知識,深知自己的不足,於是惡補了一下。
user-agent
pragma
cache-control
referer
accept
cookit
if-modified-since
if-none-match
content-type
date
etag
last-modefied
agecache-control
access-control-allow-origin
如果配置了etag,在第一次請求的時候,響應頭會下發etag屬性,再下一次請求,會帶上if-none-match,如果服務端沒有匹配的etag,返回200和新的etag。如果有匹配的etag,返回304請求。
強快取和協商快取
新鮮度和有效性
強快取用cache-control、expires、pragma來控制,如果在有效期內不會發任何請求到伺服器
協商快取用etag、last-modified、if-none-match、if-modified-since來控制,特點是會發乙個請求來確認快取是否有效,如果有效就返回304,省去傳輸內容的時間。
如果瀏覽器發起乙個請求,發現本地的資源已經過期,則會附加乙個if-none-match
注意,按f5重新整理瀏覽器,會忽略cache-control和expires
如果同時設定了cache-control和expires,expires會忽略。
注意,強快取有效的前提下,不會傳送請求到伺服器,也就是說,不會有協商快取什麼事情。
參考:
http快取 瀏覽器快取
如果以下題目都能快速回答,那此文章也就沒有必要要看啦 1.講一下http快取 強快取,協商快取 2.如何控制強 協商快取 expires,cache control,etag if none match,if modified sine last modified 3.cache control有哪...
瀏覽器http快取
強快取 強快取命中不會傳送請求到伺服器端,直接從本地快取中獲取資源,狀態碼200 from cache 協商快取 協商快取會傳送請求到伺服器,伺服器通過請求頭部欄位來驗證資源是否命中協商快取,如果命中,則返回狀態碼304 not modified 通知瀏覽器從快取中獲取資源 4.1 last mod...
HTTP瀏覽器快取機制
來自 瀏覽器快取機制 瀏覽器快取機制,其實主要就是http協議定義的快取機制 如 expires cache control等 但是也有非http協議定義的快取機制,如使用html meta 標籤,web開發者可以在html頁面的節點中加入標籤,如下 上述 的作用是告訴瀏覽器當前頁面不被快取,每次訪...