cookie、sessionStorage和localStorage

基本概念

cookie:存儲在客戶端的小型文本文件,可以包含若干鍵值對,每個鍵值對可以設置過期時間(默認過期時間為關閉瀏覽器時)。 cookie會在每次發送HTTP請求時附加到Cookie頭字段,服務器以此得知用戶所處的狀態。 cookie限制在4kb
sessionStorage:會話存儲,存儲在本地,不會被發送到服務器上,并且關閉后存儲的內容失效。最多可以存儲5-10M
localStorage:本地存儲,不會被發送到服務器上,默認會永久存儲,除非手動刪除。最多可以存儲5-10M

Storage支持的瀏覽器版本

imp.png

差異

特性 數據的生命周期 存儲大小 發送服務端 易用性
cookie 關閉瀏覽器實效(可配置) 4kb 攜帶在HTTP頭中
sessionStorage 當前會話下有效,關閉頁面或瀏覽器后被清除 5mb 需要在代碼里主動上傳服務端
localStorage 永久有效,除非手動刪除 5mb 需要在代碼里主動上傳服務端

使用

cookie:

//記錄cookie值
function setCookie (name,value){
   var Days = 30;
   var exp = new Date();
   exp.setTime(exp.getTime() + Days*24*60*60*1000);
   document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
};
//獲取cookie值
function getCookie (name){
    var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
     if(arr !== null){
        return unescape(arr[2]);
     }else{
         return null;
     }
};
//刪除cookie值
function deleteCookie (name) {
    var exp = new Date(); 
    exp.setTime(exp.getTime() - 1); 
    document.cookie = name + "=; expires=" + exp.toGMTString();
};

sessionStorage:

// 保存數據到sessionStorage
sessionStorage.setItem('key', 'value');

// 從sessionStorage獲取數據
var data = sessionStorage.getItem('key');

// 從sessionStorage刪除保存的數據
sessionStorage.removeItem('key');

// 從sessionStorage刪除所有保存的數據
sessionStorage.clear();

localStorage:

// 保存數據到localStorage
localStorage.setItem('key', 'value');

// 從localStorage獲取數據
var data = localStorage.getItem('key');

// 從localStorage刪除保存的數據
localStorage.removeItem('key');

// 從localStorage刪除所有保存的數據
localStorage.clear();
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • HTTP cookie(也稱為web cookie,網絡cookie,瀏覽器cookie或者簡稱cookie)是網...
    留七七閱讀 18,127評論 2 71
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,993評論 19 139
  • Web Storage規范 是HTML5的一部分 目的:克服由cookie帶來的一些限制,當數據需要被嚴格的控制在...
    放風箏的小小馬閱讀 2,283評論 0 6
  • 背景在HTTP協議的定義中,采用了一種機制來記錄客戶端和服務器端交互的信息,這種機制被稱為cookie,cooki...
    時芥藍閱讀 2,384評論 1 17
  • 注:本文轉載自前端大全 背景 在HTTP協議的定義中,采用了一種機制來記錄客戶端和服務器端交互的信息,這種機制被稱...
    楠小忎閱讀 689評論 0 0