流浪のwolf

卷帝

导航

localStorage 、 sessionStoarge 和 cokies 的区别

1. 三者的概念

1.1 cookies

Cookie,有时也用其复数形式 Cookies。类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session(会话)跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息;cookie可以跨越一个域名下的多个网页,但不能跨越多个域名使用;

session(会话):  客户端向服务器端发送请求,服务器端接受请求并生成响应返回给客户端,客户端对服务器端这样一次连续的调用过程,被称为会话(session);

session 和 coolies的功能效果是相同的 , 但是记录的位置不同 , session 记录在服务器端 , cookies 在客户端;

1.2 localStroage

主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie的存储空间为4K),localStorage中一般浏览器支持的是5M大小,这个在不同浏览器中localStroage会有所不同;

1.3 sessionStroage 会话存储

sessionStorage(临时存储):为每一个数据源维持一个存储区,在浏览器打开期间存在,包括页面重新加载;

 2. 区别

1.  cookie 数据始终在同源的 http 请求中携带(即使不需要),即 cookie 在浏览器和服务 器间来回传递,而 sessionStorage 和 localStorage 不会自动把数据发送给服务器,仅在本地保存。cookie 数据还有路径(path)的概念,可以限制 cookie 只属于某个路径下;

2. 存储大小限制也不同,cookie 数据不能超过 4K,同时因为每次 http 请求都会携带 cookie、所以 cookie 只适合保存很小的数据,如会话标识。sessionStorage 和 localStorage 虽然也有存储大小的限制,但比 cookie 大得多,可以达到 5M 或更大;

3. 数据有效期不同,sessionStorage:仅在当前浏览器窗口关闭之前有效;localStorage: 始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;cookie:只在设置的 cookie 过期时间之前有效,即使窗口关闭或浏览器关闭;

4. 作用域不同,sessionStorage 不在不同的浏览器窗口中共享,即使是同一个页面; localstorage 在所有同源窗口中都是共享的;cookie 也是在所有同源窗口中都是共享的;

posted on 2022-07-30 12:29  流浪のwolf  阅读(42)  评论(0编辑  收藏  举报