cookie,session,sessionStorage和localStorage

cookie,session,sessionStorage和localStorage的区别?

1.cookie

保存位置:浏览器端,存储内容只接受String类型浏览器

若是设置过时时间,保存在硬盘中,关闭浏览器后cookie数据仍然存在,直到过时事件结束才消失。安全

若是未设置过时时间,保存在内存中,生命周期随浏览器的关系而结束,这种cookie简称为会话cookie。服务器

cookie原理:cookie

应用场景:

1)判断用户是否登陆过网站,以便于下次登陆时可以实现自动登陆(或者记住密码);session

2)保存上次查看的页;网站

3)浏览次数。cdn

cookie缺点:blog

1)存储小:单个cookie保存的数据不能超过4kb;生命周期

2)安全性低:别人能够分析存放在本地上的cookie并进行cookie欺骗;事件

3)每一次请求都会带上cookie传给服务器,体验很差,浪费宽带;

4)用户能够操做cookie,使功能受限。

2.session

保存位置:服务端,支持任何类型的存储内容

session与cookie关系:

session是基于cookie实现的,session必须将sessionID经过cookie发送到客户端;

第一次建立session,服务端会在http协议中告诉浏览器端,须要在cookie里面记录一个sessionID,之后每次请求把这个会话ID发送到服务器,据此来识别不一样客户端。

应用场景

1)网上商城的购物车;

2)保存用户登陆信息;

3)将某些数据放入session中,供同一用户的不一样页面使用;

4)防止用户非法登陆。

session缺点

1)session保存的东西越多,就越占用服务器内存,对于用户在线人数较多的网站,会加大服务器的压力;

2)依赖cookie,若是禁用cookie,则要使用URL重写;

3)过分使用session变量会致使代码不可读并且很差维护。

3.sessionStorage(会话存储)

保存位置:浏览器端,只能存储字符串类型。

生命周期:

仅在当前会话下有效,是在同源的窗口中始终存在的数据。只要这个浏览器没有关闭,即便刷新页面或者进入同源另外一个页面,数据依然存在。浏览器窗口关闭后数据被销毁。

应用场景:敏感帐号一次性登陆。

储存大小:浏览器对sessionStorage的大小限制是5MB。

4.localStorage(本地存储)

保存位置:浏览器端,只能存储字符串类型。

生命周期:

localStorage的生命周期是永久的,关闭页面或者浏览器以后localStorage中的数据也不会消失。

应用场景:长期登陆、判断用户是否已登陆、适合长期保存在本地的数据。

储存大小:浏览器对localStorage的大小限制是5MB。

相关文章
相关标签/搜索