一、cookie
cookie算是比較早的技術,最初是為了記錄http的狀態,提高訪問速度。cookie是伺服器"種植"在客戶端的key-value形式文字檔案。但同時客戶端也能操作cookie。
特點:大小:cookie的大小限制在4k。每個網域名稱下cookie的個數現在在20個。
在客戶端請求伺服器端和伺服器響應時,cookie始終被攜帶在http請求中,即使不需要(造成流量浪費)。這也是限制cookie大小的原因。
客戶端可以通過document.cookie操作cookie,並不安全。
cookie可以設定過期時間、路徑、域和httponly等字段。如果設定了過期時間,cookie會儲存在硬碟裡,知道到了設定的過期時間才會失效。若未設定過期時間,在瀏覽器視窗關閉時,cookie就失效了。路徑和域兩個字段限制了cookie的作用範圍。httponly設定為true,則js不能通過document.cookie操作cookie。
二、localstorage
它也是採用key-value的形式儲存資料,但是它與cookie有很大的區別
特點:對比著來,localstorage能儲存更大的資料,標準瀏覽器是5mb。
localstorage儲存在客戶端,不隨著請求傳送給伺服器,避免了流量的浪費。
客戶端可以通過:setitem、getitem方法訪問localstorage。
並且,localstorage沒有過期時間,如果不手動清除,資料就永遠不會過期,一直儲存在瀏覽器當中。
儲存的資訊在同一域中是共享的。
三、sessionstorage
特點:與localstorage不同的是,sessionstorage並不持久化,在視窗關閉那一刻,sessionstorage會被清除。
儲存的資訊是會話級別的,同域也是不能共享的。關閉當前標籤頁,sessionstorage即失效。
四、session(附加)
上面提到了cookie,順帶提一下session。客戶端第一次訪問伺服器,伺服器種植乙個cookie,儲存唯一的sessionid。後面客戶端再次訪問,會讀取此sessionid,隨即能在服務端讀取到此id儲存的會話物件。
特點:session是基於cookie的,由於session在客戶端不可被修改,相對於cookie來說安全,所以可存放一些重要資料。
資料儲存在伺服器端,客戶端通過sessionid,讀取到相對應的資料。
總結本地儲存幾種方式
最近學習了本地儲存幾種方式各自的特點和區別,遂記錄下來,以加深印象。一 cookie cookie算是比較早的技術,最初是為了記錄http的狀態,提高訪問速度。cookie是伺服器 種植 在客戶端的key value形式文字檔案。但同時客戶端也能操作cookie。特點 二 localstorage ...
本地儲存方式比較
由於最近有項工作要用到本地儲存方式來儲存使用者的一些資訊,所以花了點時間蒐集了一下現有的一些本地儲存方式,並做了一些比較,在這裡做個記錄,以後遇到類似的問題,要用什麼方法心中也多少有個數。目前已有的本地儲存方式 一 傳統的 1.cookie 各瀏覽器都基本支援,可控制生命週期,但缺點是有大小限制,1...
三種本地儲存方式
當網頁要發http請求時,瀏覽器會先檢查是否有相應的cookie,有則自動新增在request header中的cookie欄位中。這些是瀏覽器自動幫我們做的,而且每一次http請求瀏覽器都會自動幫我們做。這個特點很重要,因為這關係到 什麼樣的資料適合儲存在cookie中 儲存在cookie中的資料...