Cookie与Webstorage

基本概念

cookie是往返于客户端与服务端的一小段存储信息,由响应头的Set-cookie设置,客户端浏览器在接收到响应之后就会在cookie中存储配置信息与数据,并且在向服务端发起请求的时候都会在请求头中带上这一段cookie传给服务端。

upload successful

LocalStorage是WebStorage的一种,可以在浏览器中长期保存的一种本地存储类型,除非被清除,或者设定的过期时间到了,否则会一直保存在浏览器中
SessionStorage是另一种WebStorage,但是保存数据的周期与LocalStorage不同,他只是可以将数据在当前会话中保存下来,刷新页面数据依旧存在,但是当页面关闭之后,SessionStorage中的数据就会被清空

三者的异同

Cookie localStorage sessionStorage
数据的生命期 一般由服务器生成,可设置失效时间。如果在浏览器端生成Cookie,默认是关闭浏览器后失效 除非被清除,否则永久保存 仅在当前会话下有效,关闭页面或浏览器后被清除
存放数据大小 4K左右 一般为5MB 一般为5MB
与服务器端通信 每次都会携带在HTTP头中,如果使用cookie保存过多数据会带来性能问题 仅在客户端(即浏览器)中保存,不参与和服务器的通信 仅在客户端(即浏览器)中保存,不参与和服务器的通信
易用性 需要程序员自己封装,源生的Cookie接口不友好 源生接口可以接受,亦可再次封装来对Object和Array有更好的支持 源生接口可以接受,亦可再次封装来对Object和Array有更好的支持

学习链接:DOM总结:数据存储(cookie,storage) - 知乎 (zhihu.com)


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!