cookie :服务器发送到用户浏览器并保存在本地的一串数据;具有不可跨域性;以文本方式保存字符串;大小不能超过4k
1.会话cookie:不设置过期时间,生命周期为浏览器会话期间,浏览器关闭cookie消失;
2.持久cookie:设置过期时间,浏览器把cookie保存到硬盘
- 应用场景:
- 判断用户是否登录过网站,以便下次登录时能够实现自动登录(或者记住密码)。如果我们删除Cookie,则每次登录必须从新填写登录的相关信息;
- 保存上次登录的时间等信息;
- 保存上次查看的页面;
- 浏览计数;
- 缺点
- 大小受限;
- 用户可以操作(禁用)Cookie,使功能受限;
- 安全性较低;
- 有些状态不可能保存在客户端;
- 每次访问都要传送Cookie给服务器,浪费带宽;
- Cookie 数据有路径(path)的概念,可以限制Cookie只属于某个路径下。
session:客户端浏览器访问服务期的时候,服务器把客户端信息以某种形式记录下来,浏览器再次访问时,只需从session中查找客户状态;客户端关闭或session超时失效时,会话结束;用户与服务器建立连接时,服务器会分配一个sessionid,来表示用户唯一身份;可以支持任何类型对象保存
应用场景:
- 网上商城中的购物车;
- 保存用户登录信息;
- 将某些数据放入Session中,供同一用户的不同页面使用;
- 防止用户非法登录;
localstorage:生命周期是永久的,关闭页面或浏览器之后localStorage中的数据也不会消失。localStorage除非主动删除数据,否则数据永远不会消失;储数据大小一般都是:5MB
-
应用场景
localStoragese:常用于长期登录(+判断用户是否已登录),适合长期保存在本地的数据
sessionStorage(临时保存):将数据保存在 session 对象中。用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。session对象可以用来保存在这段时间内所要求保存的任何数据
-
应用场景
sessionStorage:敏感账号一次性登录;