【总结】Cookie、session和localStorage、以及sessionStorage之间的区别

cookie是由服务器发送到浏览器的小量信息,浏览器会将cookie保存下来,下次请求同一网站时会将cookie发送给服务器。

session

session是指一个用户与交互进行通信的时间间隔,比如登录到登出的这一过程所需要的时间。具体到web中就是用户浏览某个网站时,从进入网站到关闭浏览器所经过的这段时间。注意!!session是一个时间概念,并非客观存在的东西

当程序需要为某个客户端的请求创建一个session时,服务器首先检查浏览器中是否包含session标识(称为session id),如果已包含则说明为此客户端创建过session,服务器按照这个session id把session对象检索出来使用;如果不包含则为客户端创建一个session并且生成一个对应的session id,并且在响应中返回给客户端,客户端可以将他保存为cookie格式。

cookie和session的区别

Cookiesession对象
存储位置客户端(设置过期时间在硬盘;没设置在内存中)服务端
时效性自定义的过期时间(没设置关闭浏览器则消除)session不活动时超出设置时间失效
存储类型字符串对象
安全性明文(可以加密后存放)放在服务器内存中,安全

localStorage

localStoragesessionStorage都属于Web Storage。

localStorage以键值对的形式存储在浏览器中,永久存储,永不失效,除非手动删除。

sessionStorage

sessionStorage 属性允许你访问一个 session Storage 对象。它与 localStorage 相似,不同之处在于 localStorage 里面存储的数据没有过期时间设置,而存储在 sessionStorage 里面的数据在页面会话结束时会被清除。页面会话在浏览器打开期间一直保持,并且重新加载或恢复页面仍会保持原来的页面会话。在新标签或窗口打开一个页面会初始化一个新的会话,这点和 session cookies 的运行方式不同。

localStorage 和 sessionStorage 的区别

localStoragesessionStorage
有效期永久存储,永不失效,除非手动删除关闭会话窗口失效
作用域同源窗口仅在同一个标签页中

参考资料

  1. 百度百科
  2. Cookie、session和localStorage、以及sessionStorage之间的区别
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值