芝士整理 瀏覽器儲存

2021-09-13 02:27:10 字數 1337 閱讀 3222

維護瀏覽器和伺服器端會話狀態的一種方式,一般用於儲存使用者身份資訊。

伺服器端生成cookie推送到瀏覽器端,瀏覽器負責儲存和維護資料。

特點

網域名稱下的所用請求都會帶上cookie

每條cookie限制在4kb左右

cookie在過期時間之前一直有效,若未設定過期時間,關閉瀏覽器視窗即失效

服務端通過響應頭中的set-cookie向瀏覽器寫入cookie,瀏覽器端可以通過document.cookie讀寫cookie(若一條cookie在響應頭中設定了httponly標識,瀏覽器將無法獲取和操作該條cookie)

webstorage —— 瀏覽器本地儲存方案,包括sessionstorage和localstorage

兩者的差異在儲存週期上,使用方法上無差異

限制在頁面內的單次本地儲存

特點

僅在當前頁面有效

關閉頁面或者瀏覽器視窗後失效

限制在同源內的持久本地儲存

特點

遵循同源策略

除非手動清除,否則一直儲存在本地

儲存大小

一般儲存空間為5mb左右,桌面端chrome40+,firefox34+,ie9+預設調整至10mb

(本地測試結果與此相矛盾),部分瀏覽器可由使用者手動調整上限。

stackoverflow - 關於計算localstorage上限

錯誤處理

同步讀寫,通過try...catch捕獲錯誤資訊。如下捕獲超限錯誤

try  catch(domexception) 

}

儲存格式

資料以字串格式儲存,物件寫入時需使用json.stringify轉換為字串,再使用json.parse轉換為物件。

大量資料的結構化儲存

特點

遵循同源策略

除非手動清除,否則一直儲存在本地

儲存空間大,一般為250mb

主鍵對應值儲存,比如以id為主鍵儲存對應資料

支援各類儲存格式,甚至是二進位制資料(blob)

非同步儲存,禁止在頁面reload時做批量儲存

非官方規範,目前已棄用

利用應用快取,保證離線情況下正常使用,減少網路請求,加快訪問速度

大部分瀏覽器對快取資料容量的限制時5mb

localforage - 封裝indexeddb, websql, localstorage,提供統一api

瀏覽器快取整理

對瀏覽器快取這一塊一直是亂哄哄的狀態,今天終於有時間整理一下,寫下這篇筆記,以供日後查閱。良好的快取策略可以降低資源的重複載入提高網頁的整體載入速度 通常瀏覽器快取策略分為兩種 強快取和協商快取 瀏覽器在載入資源時,根據請求頭的expires和cache control判斷是否命中強快取,是則直接從...

詳解瀏覽器儲存

隨著對前端的了解越來越深入,了解到了很多種瀏覽器的儲存方案,如 cookie localstorage等,哪這些儲存方案有何異同,分別的適用場景又是什麼呢。cookie 被創造出來的本意並不是本地儲存,而是為了辨別使用者身份。眾所周知,http 協議是無狀態的,也就是說你每一次傳送給伺服器的請求對於...

瀏覽器的儲存

cookie,localstorage,sessionstorage,indexdb 我們先來通過 學習下這幾種儲存方式的區別 特性cookie localstorage sessionstorage indexdb 資料生命週期 一般由伺服器生成,可以設定過期時間 除非被清理,否則一直存在 頁面關...