cookie,session,sessionStorage,localStotage的区别

1.cookie

保存位置: 客户端

使用方式:

若是不设置过时时间,cookie保存在浏览器内存中,生命周期随浏览器的关闭而结束.简称会话cookie.
若是设置过时时间,cookie则保存在硬盘中,关闭浏览器依然存在,直到过时才消失.浏览器

2.session

保存位置: 服务器端

使用方式: session目前主流都配合cokie使用服务器


登陆案例(cookie和session结合)

用户客户端登陆系统cookie

登陆成功后,由图上的response的headers咱们能够看到服务器端会发给客户端一个带有JSESSIONID的惟一用户标识的特殊信息,这个就是cookie,由服务器端发回并设置,此时的cookie没有设置过时时间,故生命周期是随浏览器的关闭而结束

由上图可知,每次发请求到后台时,在request的header里都会带着cookie到后台,以cookie里面的JSESSIONID在服务器中区分是哪一个用户进行的操做.
由于此时存储的Cookie是会话Cookie,只要整个浏览器不关闭,cookie一直有效.
除非换浏览器打开,此时没有会话cookie,跳转到登陆界面,服务器端会从新生成新的JSESSIONID返回给客户端.session


3.localStorage(本地存储)

存储位置: 客户端

生命周期:

localStorage的生命周期是永久的,关闭页面或浏览器以后localStorage中的数据也不会消失。localStorage除非主动删除数据,不然数据永远不会消失。cdn

4.sessionStorage(会话存储)

存储位置: 客户端

生命周期:

sessionStorage的生命周期是在仅在当前会话下有效。sessionStorage引入了一个“浏览器窗口”的概念,sessionStorage是在同源的窗口中始终存在的数据。只要这个浏览器窗口没有关闭,即便刷新页面或者进入同源另外一个页面,数据依然存在。可是sessionStorage在关闭了浏览器窗口后就会被销毁。同时独立的打开同一个窗口同一个页面,sessionStorage也是不同的。blog

最后

  • 喜欢的记得点个star.鼓励一下,谢谢!
  • qq群号 424072183
相关文章
相关标签/搜索