Cookie,localStorage,SessionStorage区别与应用场景

Cookie,localStorage,SessionStorage区别与应用场景

Cookie是什么?

Cookie:存储在用户本地终端上的数据
Cookie直译为中文是小饼干,顾名思义,它的内存非常小,大小限制为4KB左右
每次http请求都会携带很小的Cookie

localStorage

是H5新增的技术
没有时间限制的数据存储,第二天,下一周,下一年,只要你不删除仍然存在

SessionStorage

针对一个session的数据存储,当用户关闭浏览器时,数据会被删除

三者区别

特性 Cookie localStorage sessionStorage
数据的生命周期 一般由服务器生成,可以自定义失效时间,如果由浏览器生成,则默认为浏览器关闭时失效 只要不删除,就会一直存在 仅在当前会话下,当你关闭网页或关闭浏览器时都会失效
存储的数据大小 一般为4KB 至多为5MB 至多为5MB
与服务器端的通信 每次都会携带在HTTP头中,一般Cookie中的数据不能保存过多,否则会影响性能问题 仅在客户端(浏览器)中进行保存,不参与和服务器的通信 仅在客户端(浏览器)中进行保存,不参与和服务器的通信
易用性 程序员自己封装,原生的Cookie接口并不友好 原生的接口可以接受,但是也可以自己封装,自己封装会对Object和Array更可用 原生的接口可以接受,但是也可以自己封装,自己封装会对Object和Array更可用
作用域 与所有同源窗口均共享 与所有同源窗口均共享 不在不同的浏览器窗口共享

应用场景

Cookie:

  • 一般用于判断用户是否登录过网站,以便于下次登录时可以自动登录或记住密码,如果我们删除Cookie中的内容,则下次登录的时候需要重新填写相应的所有有关信息
  • 保存上次登录的时间等信息
  • 保存上次浏览过的页面
  • 保存浏览次数

localStorage:

  • 缓存静态文件内容的JS,CSS
  • 缓存不常使用的API接口数据
  • 存储地理位置

SessionStorage:

用于敏感账号的一次性登录,关闭当时页面再次打开页面时需要重新登录

猜你喜欢

转载自blog.csdn.net/rraxx/article/details/114024959
今日推荐