cookie localStorage sessionStorage

知识点
  • cookie
  • sessionStorage localStorage

cookie

  • 本身用于浏览器和server通讯
  • 被 “借用” 到本地存储
  • 可用 document.cookie = '...' 来修改

注意: 下面的控制台演示,需要开启本地服务器(如:nodejs的http-server)。如果直接本地打开浏览器页面,是设置不了cookie的
在这里插入图片描述
根据上图显示的规律:document.cookie 它里面存储键值对。
同一个key,它“覆盖”;不同key,它“追加”;
在这里插入图片描述

兄嘚!有没有掉坑里¯_(ツ)_/¯
在这里插入图片描述
登录功能就经常用cookie实现:会在Request Headers 里把 cookie 发送给服务端
在这里插入图片描述
另外,cookie 能做本地存储,这就不用说了吧,因为刷新后,cookie里面的内容还是在的(cookie是在html5规范出来并普及之前唯一能做本地存储的家伙)

注意: cookie 当初的设计并不是为了做本地存储,而是为了浏览器和服务端的通讯。 只是被借用来做本地存储

cookie 的缺点
  • 存储大小:最大4KB
    上头讲了,它妈造它是为了浏览器和服务端的通讯,不是为了存东西的。

  • http 请求时需要发送到服务端,增加请求数据量
    这就是个粘人精啊!!! 不管发什么请求,都要带上它。
    (肥)膘少还好说,否则
    http请求(它妈) 缓缓拖走。。。

  • 只能用 document.cookie = '...' 来修改,太过简陋
    花样太少,技术不行,诶,费解。。。
    在这里插入图片描述

头胎(cookie),没经验,给养废了,
没事儿,再生两个。。。
localStorage 和 sessionStorage (双胞胎) 出生了 ヽ(゚∀゚)メ(゚∀゚)ノ

localStorage 和 sessionStorage

  • HTML5 专门为存储而设计,最大可存5M (够大! 比cookie的4KB 大多了)
  • API 简单易用 setItem getItem
  • 不会随着 http 请求被发送出去 (5M的“吨位”如果随意发,要是在手机上,还不得破产(T▽T))
    在这里插入图片描述
localStorage 和 sessionStorage 的区别
  • localStorage 数据会永久存储,除非代码或手动删除
  • sessionStorage 数据只存在于当前会话,浏览器关闭则清空
  • 一般用localStorage 会更多一些

cookie localStorage sessionStorage 的区别

  1. 都会在浏览器端保存,有大小限制,同源限制
  2. cookie会在请求时发送到服务器,作为会话标识,服务器可修改cookieweb storage(也就是localStorage和sessionStorage)不会发送到服务器
  3. cookiepath概念,子路径可以访问父路径cookie,父路径不能访问子路径cookie
  4. 有效期:cookie在设置的有效期内有效,默认为浏览器关闭;sessionStorage在窗口关闭前有效;localStorage长期有效,直到用户删除;
  5. 共享:sessionStorage不能共享,localStorage在同源文档之间共享,cookie在同源且符合path规则的文档之间共享
  6. localStorage的修改会促发其他文档窗口的update事件
  7. cookiesecure属性要求HTTPS传输
  8. 浏览器不能保存超过300个cookie,单个服务器不能超过20个,每个cookie不能超过4kweb storage大小支持能达到5M
cookie,localStorage,sessionStorage对比表格:
特性CookieLocalStoragesessionStorage
数据的申明周期一般由服务器生成,可设置失效时间。如果在浏览器生成,默认是关闭浏览器之后失效除非被清除,否则永久保存仅在当前会话有效,关闭页面或浏览器后被清除
存放数据大小4KB一般5MB一般5MB
与服务端通信每次都会携带在HTTP头中,如果使用cookie保存过多数据会带来性能问题仅在客户端中保存,不参与和服务器的通信。LocalStorage
用途一般由服务器端生成,用于标识用户身份用于浏览器缓存数据LocalStorage
共享在同源且符合path规则的文档之间共享在同源文档之间共享不能共享
相同点三者都可以被用来在浏览器端存储数据,而且都是字符串类型的键值对同上同上

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值