Cookie
HTTP Cookie是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器发起请求时被携带并发到服务器上。通常,它用于告知服务端两个请求是否来自同一个浏览器,如保持用户的登录状态。
Cookie主要用于以下三个方面:
1、会话状态管理(如用户登录状态、购物车、分析分数或者其他需要记录的信息)
2、个性化设置(如用户自定义、主题等)
3、浏览器行为跟踪
Cookie特点
1、大小受限,一般为4KB
2、统一域名下放Cookie的数量是有限的,不同浏览器的个数会不一样,一般为20个
3、Cookie支持设置过期时间,当过期时自动销毁
4、每次支持同域下的HTTP请求,都会携带当前域名下Cookie
5、支持设置为HttpOnly,防止Cookie被客户端的Javascript销毁
LocalStorage
一种持久化的存储方式,也就是说如果不动手清除,数据就永远不会过期。它采用的是键值对的方式进行存储。按照域名将数据分别保存到对应的数据库文件中。相比Cookie,保存的数据量更大。
LocalStorage的特点
1、大小限制为5M~10M
2、在同源的所有标签页和窗口之间共享数据
3、数据仅保存在客户端,不与服务器进行通信
4、数据持久存在且不会过期,重启浏览器之后数据依然存在
5、对数据的操作是同步的
SessionStorage
sessionStorage是一种会话级别的缓存,关闭浏览器时数据会被清除。需要注意的是,sessionStorage的作用域是窗口级别的,也就是不同窗口之间保存的sessionStorage数据是不同共享的。
seeesionStorage的特点
1、sessionStorage的数据只是存在于当前浏览器的标签页
2、数据在页面刷新后仍然存在,但在关闭浏览器标签页之后数据就会被清除
3、与LocalStorage一样拥有统一的API接口
4、对数据的操作是同步的