最近想自己造乙個類似記事本的小輪子。因為感覺沒必要用上覆雜的後端(同時自己也懶),就打算把資料都交給前端來儲存。說到前端儲存,最先想到的肯定是localstorage系列(還有sessionstorage),只是localstorage只有讀取功能,顯然是無法滿足我的需求的。
於是打算上網搜尋一下相關的技術,期望可以找乙個類似於sqllite的工具。在搜尋的過程中,正好發現了這本書《客戶端儲存技術》。雖然是只有100頁左右的小薄本,但對於想要了解一下客戶端儲存相關技術的我來說正好合適。於是便抽空讀了一遍,做了乙個簡單的讀書筆記。
客戶端儲存技術
書中主要介紹了目前常用的客戶端儲存技術以及各個儲存技術的優缺點和適用範圍。 當然,客戶端儲存最主要的目的是減輕服務端的壓力,而不是去代替服務端儲存(畢竟效能和安全性上是是做不到的)。如果是作為小的離線應用的話,倒是不妨可以用一下。
目前客戶端儲存技術可以簡單用下表來總結
編號技術
說明類庫
1cookie
最「古老」的儲存方式。通過document.cookie就能進行設定與訪問。一般如**記住登入狀態會利用cookie(會設定過期時間),敏感資訊不建議儲存在cookie中。安全係數比較低。
mdn上有相關的類庫,可以簡化cookie的操作。
2localstorage/sessionstorage
比較常見的客戶端儲存。有大小限制5mb。乙個網域名稱對應乙個storage,可以持久化的存放一些資料,同樣不建議存放敏感資訊。
lockr
3indexeddb
無大小限制(理論上)。以物件的形式存放資料(很像mongodb)。原生api很相對比較複雜,特別是查詢部分。使用庫可以簡化操作。目前對移動端的支援還不是很好(特別是safari),pc端支援很好。
dexie、pouchdb
4websql
比indexeddb出現時間要早。使用前需要設定資料庫大小。具體操作與sql相同,熟悉sql就能很快上手。已被廢棄的規定。移動端支援不錯。
-
客戶端儲存
他們的區別在儲存的有效期和作用域 localstorage儲存是永久性的,作用域是同源文件.同源文件由三個方面確定.埠號,協議,主機名.同樣也受限於瀏覽器廠家,不同瀏覽器廠家之間的localstorage是不能互享的.sessionstorage的儲存性是和頂層標籤是同步的,如果頂層標籤關閉,那麼s...
客戶端儲存
客戶端儲存 由於http協議是無狀態路的協議,其無法記住使用者的狀態,所以就有了客戶端儲存用來記錄使用者的狀態。同樣的客戶端儲存也是遵守同源策略,所以不同站點的頁面是無法讀取對方儲存的資料 有oatuh2.0 用來跨站登入的,即qq互聯這種登入方式。用於進行登入的很大都是用時序圖進行繪製的。儲存。安...
客戶端儲存
瀏覽器儲存在開發中經常用到,比如在多頁面應用的模型中,會將使用者的頁面歷史記錄儲存在本地,頁面前進時,在本地新增一條歷史記錄,頁面返回時,刪除最後一條歷史記錄,再訪問最後一條歷史記錄 盒端的返回規則並不像標準瀏覽器這麼規範,也沒有後退按鈕,不同廠家的盒子,系統對返回處理邏輯不同,一般自己處理頁面的返...