概念

Cookie

Cookie 用于存储 web 页面的用户信息。

localStorage

localStorage 属性允许在浏览器中存储 key/value 对的数据; 用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去删除。

sessionStorage

sessionStorage 属性允许在浏览器中存储 key/value 对的数据; 该数据对象临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。

异同

大小

  1. cookie: 4K左右;
  2. localStorage: 一般为5MB;
  3. sessionStorage: 一般为5MB;

数据的生命期

  1. cookie: 一般由服务器生成,可设置失效时间。如果在浏览器端生成Cookie,默认是关闭浏览器后失效;
  2. localStorage: 除非被清除,否则永久保存;
  3. sessionStorage: 仅在当前会话下有效,关闭页面或浏览器后被清除;

与服务器端通信

  1. cookie: 每次都会携带在HTTP头中,如果使用cookie保存过多数据会带来性能问题;
  2. localStorage: 仅在客户端(即浏览器)中保存,不参与和服务器的通信;
  3. sessionStorage: 仅在客户端(即浏览器)中保存,不参与和服务器的通信;