相同點:都儲存在瀏覽器端,都是同源的
不同點:
cookie資料始終在同源的http請求中攜帶(即使不需要),即cookie在瀏覽器和伺服器間來回傳遞;cookie資料還有路徑(path)的概念,可以限制cookie只屬於某個路徑下。儲存大小限制也不同,cookie資料不能超過4k,同時因為每次http請求都會攜帶 cookie,所以cookie只適合儲存很小的資料,如會話標識。
而sessionstorage和localstorage不會自動把資料發給伺服器,僅在本地儲存。sessionstorage和localstorage 雖然也有儲存大小的限制,但比cookie大得多,可以達到5m或更大。
cookie需要設定過期時間,才能失效
sessionstorage需要關閉當前瀏覽器,才能失效
localstorage永久儲存在瀏覽器中
sessionstorage不在不同的瀏覽器視窗中共享,
cookie和localstorage在同源的視窗都是共享的
cookie掛載document下
sessionstorage和localstorage在window下
1.建立cookie
1).document.cookie屬性設定字串:name = value
2). 資料進行編碼和解碼
/使用encodeuricomponent()進行編碼
/使用decodeuricomponent()進行解碼
/cookie值不能含有分號,逗號和空白符
2.cookie的可選引數
將expires設定為過期的時間可以刪除cookie
2).path:
指定了與cookie關聯在一起的網頁,如果把path設定為"/",那麼它對該**的所有網頁可見
3).domain
設定cookie的有效網域名稱,一般使用預設值,當前繫結的網域名稱,本地測試無效
4).secure
指定網路上如何傳輸cookie,預設為普通http協議傳輸;若設定為安全的,只能通過https安全協議才能傳輸
setitem()新增資料,getitem()獲取資料,也可以直接在localstorage()或sessionstorage()中使用傳值
removeitem()刪除資料,clear()清空資料
瀏覽器快取機制
最近在準備優化日誌請求時遇到了一些令人疑惑的問題,比如為什麼響應頭里出現了兩個 cache control 為什麼明明設定了 no cache 卻還是發請求,為什麼多次訪問時有時請求裡帶了 etag,有時又沒有帶?等等。後來查了一些資料以及同事親自驗證,總算對這些問題有了個清晰的理解,現在整理出來以...
瀏覽器快取機制
當我們瀏覽乙個頁面發現有異常時,通常考慮的就是書不是瀏覽器做了快取呢,按ctrl f5重新請求一次就能請求到沒有快取的頁面,這個是為什麼呢。首先,ctrl f5組合鍵重新整理頁面,那麼瀏覽器會直接向目標url傳送請求,而不再使用瀏覽器快取的資料。其次,當請求到達伺服器端依然有可能出現使用伺服器端的資...
瀏覽器快取機制
瀏覽器快取機制 瀏覽器快取機制,其實主要就是 協議定義的快取機制 如 expires cache control 等 但是也有非 協議定義的快取機制,如使用 html meta 標籤,web 開發者可以在 html 頁面的節點中加入 標籤,如下 上述 的作用是告訴瀏覽器當前頁面不被快取,每次訪問都需...