cookie localStorage sessionStorage

  • 參考網址:http://www.cnblogs.com/caiyezi/p/5619506.html
  • 瀏覽器同源政策及規避方法:http://www.ruanyifeng.com/blog/2016/04/same-origin-policy.html
    • sessionStorage 、localStorage 和 cookie 之間的區別
      共同點:都是保存在瀏覽器端,且同源的。html

    • 區別:cookie數據始終在同源的http請求中攜帶(即便不須要),即cookie在瀏覽器和服務器間來回傳遞;cookie數據還有路徑(path)的概念,能夠限制cookie只屬於某個路徑下。存儲大小限制也不一樣,cookie數據不能超過4k,同時由於每次http請求都會攜帶cookie,因此cookie只適合保存很小的數據,如會話標識。api

    • 而sessionStorage和localStorage不會自動把數據發給服務器,僅在本地保存。sessionStorage和localStorage 雖然也有存儲大小的限制,但比cookie大得多,能夠達到5M或更大。瀏覽器

    • 數據有效期不一樣,sessionStorage:僅在當前瀏覽器窗口關閉前有效,天然也就不可能持久保持;localStorage:始終有效,窗口或瀏覽器關閉也一直保存,所以用做持久數據;cookie只在設置的cookie過時時間以前一直有效,即便窗口或瀏覽器關閉。服務器

    • 做用域不一樣,sessionStorage不在不一樣的瀏覽器窗口中共享,即便是同一個頁面;localStorage 在全部同源窗口中都是共享的;cookie也是在全部同源窗口中都是共享的。Web Storage 支持事件通知機制,能夠將數據更新的通知發送給監聽者。Web Storage 的 api 接口使用更方便。cookie

      • 用法
      •   sessionStorage.lastname="Smith";
          document.write(sessionStorage.lastname);
      • 存:document.cookie=name +"="+cval+";expires="+exp.toGMTString(); 取: var arr1 = document.cookie.split('; ');
      • $.cookie( 'the_cookie' ); // 讀取 cookie
        $.cookie( 'the_cookie' , 'the_value' ); // 存儲 cookie
        $.cookie( 'the_cookie' , 'the_value' , { expires: 7 }); // 存儲一個帶7天期限的 cookie
        $.cookie( 'the_cookie' , '' , { expires: -1 }); // 刪除 cookie
相關文章
相關標籤/搜索