一、Cookie、session和localStorage的区别 
cookie的内容主要包括:名字、值、过期时间、路径和域。路径与域一起构成cookie的作用范围。若不设置时间,则表示这个cookie的生命期为浏览器会话期间,关闭浏览器窗口,cookie就会消失。这种生命期为浏览器会话期的cookie被称为会话cookie。 
会话cookie一般不存储在硬盘而是保存在内存里,当然这个行为并不是规范规定的。若设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再打开浏览器这些cookie仍然有效直到超过设定的过期时间。对于保存在内存里的cookie,不同的浏览器有不同的处理方式session机制。 
当程序需要为某个客户端的请求创建一个session时,服务器首先检查这个客户端的请求里是否已包含了一个session标识(称为session id),如果已包含则说明以前已经为此客户端创建过session,服务器就按照session id把这个session检索出来使用(检索不到,会新建一个),如果客户端请求不包含session id,则为客户端创建一个session并且生成一个与此session相关联的session id,session id的值应该是一个既不会重复,又不容易被找到规律以仿造的字符串,这个session id将被在本次响应中返回给客户端保存。保存这个session id的方式可以采用cookie,这样在交互过程中浏览器可以自动的按照规则把这个标识发送给服务器。

二、cookie和session的区别: 
*1、cookie数据存放在客户的浏览器上,session数据放在服务器上 
2、cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑*到安全应当使用session 
3、session会在一定时间内保存在服务器上,当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie 
4、单个cookie保存的数*据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie 
5、建议将登录信息等重要信息存放为session,其他信息如果需要保留,可以放在cookie中 
6、session保存在服务器,客户端不知道其中的信心;cookie保存在客户端,服务器能够知道其中的信息 
7、session中保存的是对象,cookie中保存的是字符串 
8、session不能区分路径,同一个用户在访问一个网站期间,所有的session在任何一个地方都可以访问到,而cookie中如果设置了路径参数,那么同一个网站中不同路径下的cookie互相是访问不到的*

三、web Storage和Cookie的区别 
Web Storage的概念和cookie相似,区别是它是为了更大容量存储设计的,cookie的大小是受限的,并且每次请求一个新的页面的时候cookie都会被发送过去,这样无形中浪费了带宽,另外cookie还需要指定作用域,不可跨域调用。 
除此之外,web storage拥有setItem,getItem,removeItem,clear等方法,不像cookie需要前端开发者自己封装setCookie,getCookie。 
但是cookie也是不可或缺的,cookie的作用是与服务器进行交互,作为http规范的一部分而存在的,而web Storage仅仅是为了在本地“存储”数据而生 
sessionStorage、localStorage、cookie都是在浏览器端存储的数据,其中sessionStorage的概念很特别,引入了一个“浏览器窗口”的概念,sessionStorage是在同源的同窗口中,始终存在的数据,也就是说只要这个浏览器窗口没有关闭,即使刷新页面或进入同源另一个页面,数据仍然存在,关闭窗口后,sessionStorage就会被销毁,同时“独立”打开的不同窗口,即使是同一页面,sessionStorage对象也是不同的

Web Storage带来的好处: 
1、减少网络流量:一旦数据保存在本地之后,就可以避免再向服务器请求数据,因此减少不必要的数据请求,减少数

据在浏览器和服务器间不必要的来回传递 
2、快速显示数据:性能好,从本地读数据比通过网络从服务器上获得数据快得多,本地数据可以及时获得,再加上网

页本身也可以有缓存,因此整个页面和数据都在本地的话,可以立即显示 
3、临时存储:很多时候数据只需要在用户浏览一组页面期间使用,关闭窗口后数据就可以丢弃了,这种情况使用sessionStorage非常方便

四、浏览器本地存储与服务器端存储的区别 
其实数据既可以在浏览器本地存储,也可以在服务器端存储 
浏览器可以保存一些数据,需要的时候直接从本地存取,sessionStorage、localStorage和cookie都是由浏览器存储在本地的数据 
服务器端也可以保存所有用户的所有数据,但需要的时候浏览器要向服务器请求数据。 
1、服务器端可以保存用户的持久数据,如数据库和云存储将用户的大量数据保存在服务器端 
2、服务器端也可以保存用户的临时会话数据,服务器端的session机制,如jsp的session对象,数据保存在服务器上,

实际上,服务器和浏览器之间仅需传递session id即可,服务器根据session id找到对应用户的session对象,会话数据仅在一段时间内有效,这个时间就是server端设置的session有效期

服务器端保存所有的用户的数据,所以服务器端的开销较大,而浏览器端保存则把不同用户需要的数据分别保存在用户各自的浏览器中,浏览器端一般只用来存储小数据,而非服务可以存储大数据或小数据服务器存储数据安全一些,浏览器只适合存储一般数据

五、sessionStorage、localStorage和cookie的区别 
共同点:都是保存在浏览器端、且同源的 
区别: 
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也是在所有同源窗口中都是共享的 
5、web Storage支持事件通知机制,可以将数据更新的通知发送给监听者 
6、web Storage的api接口使用更方便

六、sessionStorage与页面js数据对象的区别 
页面中一般的js对象的生存期仅在当前页面有效,因此刷新页面或转到另一页面这样的重新加载页面的情况,数据就不存在了 
而sessionStorage只要同源的同窗口中,刷新页面或进入同源的不同页面,数据始终存在,也就是说只要浏览器不关闭,数据仍然存在

Cookie、session以及localStorage与sessionStorage之间的区别相关推荐

  1. 2.javascript之缓存 localStorage 和sessionStorage之间的区别

    2018-08-04 前言 今天做项目的时候遇到了这个问题,用户登录成功之后如何改变将登录的链接切换为用户名 解决方案:使用了sessionstorage缓存 和js的onload加载事件 用户登录成 ...

  2. Cookie、session和localStorage、以及sessionStorage之间的区别

    转载自https://www.cnblogs.com/zr123/p/8086525.html Cookie.session和localStorage.以及sessionStorage之间的区别 一. ...

  3. 面试官:要不讲讲 Cookie、Session、Token、JWT之间的区别?

    击上方"朱小厮的博客",选择"设为星标" 后台回复"加群",加入组织 来源:22j.co/btPm 什么是认证(Authentication ...

  4. 说一下对cookie和Storage(localStorage和sessionStorage) 的认识和区别?

    1.看看他们在哪里 2.前端使用cookie和服务器种cookie 前端使用 后端使用 初始化一个express项目 npmiexpress-generator -g express  项目根目录名称 ...

  5. cookie html5,HTML5——存储(cookie、localStorage、sessionStorage)的区别

    cookie 本来用于客户端和服务端通信, 但是因为它有本地存储的功能,于是被"借用"了. 使用方法 document.cookie 获取和修改即可 缺点 存储量太少,只有4kb ...

  6. cookie、localStorage和sessionStorage三者的区别

    cookie.localstorage和sessionStorage三者都是在开发中用到的临时存储客户端会话信息或者数据的方法,下面就简单介绍一下三者的区别: 一.存储的时间有效期不同 1.cooki ...

  7. 前端面试题:Token一般是存放在哪里? Token放在cookie和放在localStorage、sessionStorage中有什么不同?

    Token其实就是访问资源的凭证. 一般是用户通过用户名和密码登录成功之后,服务器将登陆凭证做数字签名,加密之后得到的字符串作为token. 它在用户登录成功之后会返回给客户端,客户端主要有这么几种存 ...

  8. 前端面试题:Token一般是存放在哪里 Token放在cookie和放在localStorage、sessionStorage中有什么不同

    Token其实就是访问资源的凭证. 一般是用户通过用户名和密码登录成功之后,服务器将登陆凭证做数字签名,加密之后得到的字符串作为token. 它在用户登录成功之后会返回给客户端,客户端主要有这么几种存 ...

  9. localStorage和sessionStorage的简单使用

    localStorage和sessionStorage是Web提供的两种本地存储方式. 相比较cookie而言,localStorage和sessionStorage的存储大小很大,localStor ...

最新文章

  1. delimiters 插值 选项
  2. Fedora19 搭建LAMP环境
  3. 《计算机视觉:模型、学习和推理》一3.6 正态逆伽马分布
  4. C语言unit test单元测试类的实现(附完整源码)
  5. 在后台查看product的change history
  6. 重磅公开!阿里语音识别模型端核心技术,让你“听”见未来
  7. 基于springboot老年人健康体检系统(带论文)
  8. 360校招真题——最强大脑
  9. 自动化!windows端自动化抢购茅台python脚本
  10. Illustrating How Mechanical Assemblies Work
  11. vue3使用less,scoped后发现:deep不生效
  12. 软件测试 | 测试开发 | Spring boot 之 RestTemplate访问
  13. 权利要求的撰写 分享
  14. 牛客网暑期ACM多校训练营(第八场)
  15. 后台管理系统日志(一个小插曲)
  16. 阿里云服务器实现 frp 内网穿透
  17. 刘润:进化的力量年度演讲全文图解
  18. 求最近公共祖先和所有祖先
  19. Iris植物分类数据可视化(散点图)(python-nvd3)
  20. ubuntu vscode 终端字体设置(字体间隔过大)

热门文章

  1. VisualDSP++安装错误解决办法
  2. 2019_KDD_Social Recommendation with Optimal Limited Attention
  3. C++ 的成功属于意料之外
  4. CISA国际注册信息系统审计师认证
  5. Tornado框架06-模板
  6. 转发一篇好文:36氪翻译自medium的文章: 读书没有 KPI:为什么坚持“一年读 100 本书”没用?...
  7. 三只松鼠前高管盗卖废旧纸箱获利68万被判刑
  8. EMQX安装、处理安装遇到的问题
  9. 两年聚37亿美元,“庞氏骗局” 维卡币负责人在美被捕
  10. 使用pgloader迁移MySQL至openGauss