cookie、session、 localStoragese、sessionStorage

65 阅读2分钟

cookie :服务器发送到用户浏览器并保存在本地的一串数据;具有不可跨域性;以文本方式保存字符串;大小不能超过4k

1.会话cookie:不设置过期时间,生命周期为浏览器会话期间,浏览器关闭cookie消失;

2.持久cookie:设置过期时间,浏览器把cookie保存到硬盘

  1. 应用场景:
  • 判断用户是否登录过网站,以便下次登录时能够实现自动登录(或者记住密码)。如果我们删除Cookie,则每次登录必须从新填写登录的相关信息;
  • 保存上次登录的时间等信息;
  • 保存上次查看的页面;
  • 浏览计数;
  1. 缺点
  • 大小受限;
  • 用户可以操作(禁用)Cookie,使功能受限;
  • 安全性较低;
  • 有些状态不可能保存在客户端;
  • 每次访问都要传送Cookie给服务器,浪费带宽;
  • Cookie 数据有路径(path)的概念,可以限制Cookie只属于某个路径下。

session:客户端浏览器访问服务期的时候,服务器把客户端信息以某种形式记录下来,浏览器再次访问时,只需从session中查找客户状态;客户端关闭或session超时失效时,会话结束;用户与服务器建立连接时,服务器会分配一个sessionid,来表示用户唯一身份;可以支持任何类型对象保存

应用场景:

  • 网上商城中的购物车;
  • 保存用户登录信息;
  • 将某些数据放入Session中,供同一用户的不同页面使用;
  • 防止用户非法登录;

localstorage:生命周期是永久的,关闭页面或浏览器之后localStorage中的数据也不会消失。localStorage除非主动删除数据,否则数据永远不会消失;储数据大小一般都是:5MB

  • 应用场景

    localStoragese:常用于长期登录(+判断用户是否已登录),适合长期保存在本地的数据

    sessionStorage(临时保存):将数据保存在 session 对象中。用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。session对象可以用来保存在这段时间内所要求保存的任何数据

  • 应用场景

    sessionStorage:敏感账号一次性登录;