localstorage、 sessionstorage、 cookie|刘景照的博客

客户端常用的存储方式有三种:

  • localstorage
  • sessionstorage
  • cookie

localStorage和sessionStorage

localStorage

localStorage 没有时间限制的数据存储,也就是说, localStorage是永远不会过期的,除非主动删除数据。 数据可跨越多个窗口,无视当前会话,在同一个域中 被共同访问、使用。

localStorage.myName = 'liujingzhao';

localStorage['myName'] = 'liujingzhao';

localStorage.setItem('SEX','MAN');

localStorage.getItem('SEX');

localStorage.getItem('sex');

console.log(localStorage.length);

// key存在大小写区分。

// localStorage.setItem('sex','man');

localStorage.removeItem('SEX');

localStorage.clear();

//  移除所有数据
localStorage.setItem('1','liujingzhao,m,25,edu');

localStorage.setItem('2','sunhui,w,25,edu');

for(var k in localStorage){

console.log(localStorage.getItem(k));

}

// liujingzhao,m,25,edu

// sunhui,w,25,edu

sessionStorage

针对一个 session 的数据存储,任何一个页面存储的 信息在窗口中同一域下的页面都可以访问它存储的数 据。每个窗口的值都是独立的,它的数据会因窗口的 关闭而丢失,不同窗口间的sessionStorage是不可以共享的。

sessionStorage.setItem('key','value');

sessionStorage.getItem('key');

sessionStorage.removeItem('key');

console.log(sessionStorage.length);

sessionStorage.clear();

存储类型

  • 数组
  • json
  • 对象
  • 图片
  • 脚本
  • css样式表

    所有类型需要转化成字符串

使用场景

  • 弱网环境
  • 利用本地存储,减少网络请求

作用域

sessionStorage和localStorage作用域限定在文档源,
所以页面必须使用那个同一种协议,来自同一个域名,在同一个端口上。

http:www.fenhongshop.com

//主机 www.fenhongshop.com  协议 http

https:www.fenhongshop.com

//https协议 不可以共享存储数据

http:www.kaola.com

//不同域名 不可以共享存储数据

http:www.fenhongshop.com:8080

//不同端口 不可以共享存储数据

cookie

addcookie、getcookie、delCookie

function (name, value, days) {

days = days || 0;

var expires = "";

if (days != 0) {

var date = new Date();

date.setTime(date.getTime() + (days * 24 * 3600 * 1000));

// getTime() 方法可返回距 1970 年 1 月 1 日之间的毫秒数

// setTime() 方法以毫秒设置 Date 对象。

expires = "; expires=" + date.toGMTString();

}

document.cookie = name + "=" + escape(value) + expires + "; path=/";

}

function getcookie(name) {

var strcookie = document.cookie;

var arrcookie = strcookie.split("; ");

for (var i = 0; i < arrcookie.length; i++) {

var arr = arrcookie[i].split("=");

if (arr[0] == name)

return arr[1];

}

return "";

}

function delCookie(name) { //删除cookie

var exp = new Date();

exp.setTime(exp.getTime() - 1);

var cval = getcookie(name);

if (cval != null)

document.cookie = name + "=" + cval + "; path=/;expires=" + exp.toGMTString();

}

区别

  • 存储大小

    • cookie存储大小4k
    • localStorage、sessionStorage存储大小5M,建议最大2.5M,防止内存溢出。
  • 兼容性
    • cookie兼容性很好
    • localStorage、sessionStorage 存在一定的兼容性问题,但不影响正常的使用
  • 局限、安全性
    • cookie在浏览器和服务器间来回传递,发送每一个http请求的时候都会出现在http头部,浪费带宽。
    • cookie的使用需要分装方法。


原文:大专栏  localstorage、 sessionstorage、 cookie|刘景照的博客

原文地址:https://www.cnblogs.com/wangziqiang123/p/11618468.html

时间: 2024-10-31 11:56:02

localstorage、 sessionstorage、 cookie|刘景照的博客的相关文章

localStorage sessionStorage cookie indexedDB

目录: localStorage sessionStorage cookie indexedDB localStorage localStorage存储的数据能在跨浏览器会话保留 数据可以长期保留,关闭会话,数据不会被清除 存储的键值对,是以字符串的形式存储的,数值类型会自动转化为字符串. 用法 // 等价,键值对以字符串形式存储,和js对象不一样 window.localStorage.setItem('x',1) // '1' window.localStorage.setItem('x',

localstorage sessionstorage cookie 备忘

/* sessionStorage: 保存的数据用于浏览器的一次会话,当会话结束(通常是该窗口关闭),数据被清空: localStorage: 保存的数据长期存在,下一次访问该网站的时候,网页可以直接读取以前保存的数据. Cookie: Cookie的内容会随着请求一并发送的服务器,容量小. 本地存储的有点: 减少网络流量,一旦数据保存在本地后,就可以避免再向服务器请求数据,因此减少了不必要的数据请求, 减少数据在浏览器和服务器间不必要地来回传递.从本地读数据比通过网络从服务器获得数据快得多.

localStorage,sessionStorage,cookie使用场景和区别

localStorage:HTML5新增的在浏览器端存储数据的方法.设置和获取localStorage的方法: 设置: localStorage.name = 'zjj'; 获取: localStorage.name //zjj sessionStorage: HTML5新增的在浏览器端存储数据的方法,设置和获取sessionStorage的方法: 设置: sessionStorage.name = 'zjj'; 获取: sessionStorage.name //zjj cookie:浏览器和

localStorage,sessionStorage,cookie区别

localStorage:HTML5新增的在浏览器端存储数据的方法.设置和获取localStorage的方法: 设置: localStorage.name = 'zjj'; 获取: localStorage.name //zjj sessionStorage: HTML5新增的在浏览器端存储数据的方法,设置和获取sessionStorage的方法: 设置: sessionStorage.name = 'zjj'; 获取: sessionStorage.name //zjj cookie:浏览器和

Ubuntu 出现apt-get: Package has no installation candidate问题 - 刘毅枫的博客 - 博客频道 - CSDN.NET

来源:http://blog.csdn.net/liuyifeng_510/article/details/7081490#1536434-hi-1-30578-42d97150898b1af15ddaae52f91f09c2

[转载]那些C++牛人的博客

现整理收集C++世界里那些“牛人”的个人博客.凡三类:一是令人高山仰止的大牛,对C++语言本身产生过深远的影响的人:二是C++运用炉火纯青的高手,有原创性的技术干货:三是中文世界里的C++牛人. C++大牛的博客 Bjarne Stroustrup的博客: Bjarne Stroustrup’s Homepage Bjarne Stroustrup,不认识的可以去面壁了,没有他,就没有我们现在的饭碗.Bjarne Stroustrup是丹麦人,目前任教于TAMU.他的Homepage和他的书籍T

价值博客们,技术博客

www.raychase.net http://mindhacks.cn 程序员博客墙blogwall.us http://www.cppblog.com/vczh MacTalk-池建强的随想录 Fenng DBA Notes | 闲思录robbin的自言自语风雪之隅-Laruence的博客 blog.vgod.tw 张琮翔的Blog:愛好電腦.科技.程式設計,目前在MIT電腦科學與人工智慧實驗室就讀博士班,尋找人機互動與程式設計交會的創新火花. MIT CSAIL的PhD,现在毕业开始创业了

团队作业6--展示博客(Alpha版本)

1.团队成员简介和个人博客地址 团队源码仓库地址:https://git.coding.net/tuoxie/dianziwendangchachong.git吕志哲 201421123021 个人博客地址:http://www.cnblogs.com/lzz21/王若凡 201421123022 个人博客地址:http://www.cnblogs.com/wangrf1/许明涛 201421123024 个人博客地址:http://www.cnblogs.com/wangluo24/欧阳勇 2

收藏的博客

土土哥的博客:http://tutuge.me 刘彦伟的博客:http://liuyanwei.jumppo.com/index.html 时间静止的博客:http://www.cnblogs.com/mddblog/p/4405165.html 唐巧的技术博客:http://blog.devtang.com 崔江涛的博客: http://www.cnblogs.com/kenshincui/ dcj3sjt126com的博客: duchengjiu.iteye.com geeklu的博客:ht