请描述一下cookies、sessionStorage、localStorage、session四者的区别?

存储大小:
  cookie在4K以内。
  sessionStorage和localStorage在5M以内。


有效时间:
  cookie:如果未设置过期时间,关闭浏览器时清空;如果设置了有效时间则在到期后清空。
  sessionStorage:关闭浏览器时清空。
  localStorage:关闭浏览器不清空,手动清除时清空。


数据与服务器之间的交互方式:
  cookie:自动携带数据发送到服务器。
  sessionStorage和localStorage不自动发送数据给服务器,仅在本地保存。


数据作用域:
  cookie和localStorage在同源窗口可以共享。
  sessionStorage即使在同源窗口也不共享。


storage事件:
  cookie和sessionStorage不支持。
  localStorage支持。


path路径:
  cookie有路径的概念,可以限制cookie只属于某个路径下。
  sessionStorage和localStorage没有path的概念。


易用性:
  原生的cookie接口不友好,需要自己封装。
  sessionStorage和localStorage的接口调用更方便。

 

cookie和session有什么联系和区别:

cookie:浏览器用来保存用户信息的文件,可以保存用户是谁,购物车中有哪些商品。
session:指我们访问网站的一个周期。用户打开一个站点,然后点击多个超链接查看各个网页,然后关闭浏览器,这个过程称为一个会话。

因为http协议是无状态的协议,也就是网页一旦关闭,浏览器和服务端的连接就会断开,下次打开网页又要重新连接,这样可以缓解服务器压力,但是随着网页内容越来越丰富,
单词请求成本增加,这样的效率就降低了。使用cookie和session可以缓解这种问题。

联系和区别:
session需要借助cookie才能正常工作。
(1)存储位置:cookie存放在客户端,session存放在服务端。
(2)安全:cookie的安全性不是很高,任何人都可以在控制台输入document.cookie获取到cookie,考虑安全性应该要使用session。
(3)效率问题:session会在一定时间保存在服务器上,访问增多服务器压力增大,考虑到服务器性能应当使用cookie。
(4)大小:cookie的大小不能超过4K,session没有大小限制。
(5)登录信息等重要的信息存放在session中,其他信息可以放在cookie中。

posted @ 2019-07-18 01:51  吴小明-  阅读(578)  评论(0编辑  收藏  举报