浏览器数据缓存机制

cookie、sessionStorage、localStorage之间的区别

相同点:都是存储在浏览器端。并且是同源的
不同点:
1、存储大小
一般浏览器存储cookie最大容量为4kb,很多浏览器都限制一个站点最多保存20个cookie。
sessionStorage和localStorage虽然也有存储大小的限制,能提供5M的存储空间(不同浏览器不同),但是要比cookie大得多。
2、存储有效期:
cookie保存的数据在过期时间之前一直有效,即使关闭浏览器
sessionStorage保存的数据用于浏览器的一次会话(session),当会话结束(通常是窗口关闭),数据被清空;
localStorage保存的数据长期存在,因为localStorage的数据是写入磁盘中,每次读取数据时,实际上是从硬盘驱动器上读取这些字节。
sessionStorage,localStorage都是本地存储,以键值对的方式存储,存储在浏览器端
1.但是他们作用域不同,相同浏览器的不同页面间可以共享相同的 localStorage,但是sessionStorage不可以
2.生命周期不同,sessionStorage生命周期为关闭浏览器窗口,localStorage永久生效,除非手动删除 否则关闭页面也会存在

3、与服务端交互
web storage中的数据仅仅是本地存储,不会和服务器发生任何交互,cookie在HTTP请求发送Set-Cookie HTTP头作为响应的一部分。通过name=value的形式存储
失效时间:一般默认是浏览器关闭失效,可以自己设置失效时间

4、接口
web storage提供了许多丰富易用的接口,拥有setItem,removeItem, getItem,等方法,操作数据更简单,cookie(document.cookie)需要自己封装setCookie,getCookie等

Cookie,token,session区别

1.cookie仅仅是浏览器实现的一种数据存储功能。cookie由服务器生成,发送给浏览器,浏览器把cookie以kv形式保存到某个目录下的文本文件内,下一次请求同一网站时会把该cookie发送给服务器,CSRF(跨站请求伪造)
2.session服务器要给每个客户端分配不同的“身份标识”,然后客户端每次向服务器发请求的时候,都带上这个“身份标识”,服务器就知道这个请求来自于谁了,客户端采用 cookie 的方式保存这个“身份标识”
3.基于Token的身份验证是无状态的

  • 用户通过用户名和密码发送请求。
  • 返回一个签名的token 给客户端。
  • 客户端储存token,并且每次用于每次发送请求。
  • 服务端验证token并返回数据。

cookie和session的区别

1)cookie数据存放在客户的浏览器上,session数据放在服务器上
2)cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session
3)session中保存的是对象,cookie中保存的是字符串

猜你喜欢

转载自blog.csdn.net/weixin_46852620/article/details/113541757