cookie、session、localstorage、sessionStorage

1. cookie和session一般都是浏览器用来记录用户身份

cookie数据始终在http请求中携带,大小不超过4k,保存在浏览器端,如果不设置过期时间,那么cookie将会被存储在内从当中,随着浏览器的关闭而关闭,如果cookie设置了过期时间,cookie将会被存在硬盘中,    只有过期时间到了,cookie才会被清除;

session保存在服务器端,客户端不知道其中的信息;反之,cookie保存在客户端,服务器能够知道其中的信息

session中保存的是对象,cookie中保存的是字符串

cookie缺点:

  1. 不安全,别人可以分析存放在本地的cookie并进行cookie欺骗
  2. API不友好

2. webStorage:sessionStorage和localStorage

共同点

1、存储大小均为5M左右

2、都有同源策略限制

3、仅在客户端中保存,不参与和服务器的通信

不同点

  1. 生命周期

sessionStorage仅在当前浏览器窗口关闭前有效,不可能持久保持

localStorage始终有效直至手动删除

  1. 作用域

localStorage: 在同一个浏览器内,同源文档之间共享 localStorage 数据,可以互相读取、覆盖。

sessionStorage: 与 localStorage 一样需要同一浏览器同源文档这一条件。不仅如此,sessionStorage 的作用域还被限定在了窗口中,也就是说,只有同一浏览器、同一窗口的同源文档才能共享数据。

IndexDB

存储数据多,可离线存储

浏览器第一次请求服务端的时候,服务端会生成这个用户的cookie和sessionid并返回给浏览器,之后浏览器再次访问服务端时会带着cookie,cookie里包含sessionid,服务端拿到这个信息一看已经登录过了,免登录

参考文档