一、区分cookie、session与localStorage、sessionStorage

cookie和session都是参与服务器通信的,而localStorage和sessionStorage不参与服务器通信。

二、区分cookie与session

cookie的作用是在客户端保持状态,比如登录状态。它被存储在本地硬盘或内存里,并且在发送http请求的时候会被放进请求头中参与通信。每个cookie最大为4k,每个域名可以拥有的cookie数量在不同浏览器中是不同的,但都多于20个,早期的20个限制已经不存在了。

session的作用是在服务器端保持状态,它被存储在服务器上。session被创建的时候会生成一个sessionid,它被存储在cookie中用来访问session。由于关闭浏览器不会导致session被删,迫使服务器为session设置了失效时间。

三、区分localStorage与sessionStorage

localStorage和sessionStorage都属于webStorage本地存储,不参与服务器通信。而且它们都属于window对象,最大存储都在5M左右。

区别在于localStorage是永久存储。而sessionStorage的存储时间是当前会话,关闭页面或浏览器就会被清除。localStorage可以用来长期保存登陆信息。而sessionStorage可以用来一次性保存登陆信息,而且不同浏览器不共享。

四、为什么要用sessionStorage,用全局js对象不行吗?

一旦刷新页面全局js对象就不在了,而sessionStorage还在。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐