首页 > 其他分享 >浏览器有哪些缓存?localStorage、sessionStorage、cookie的、session的区别是什么?

浏览器有哪些缓存?localStorage、sessionStorage、cookie的、session的区别是什么?

时间:2022-09-25 09:45:21浏览次数:45  
标签:浏览器 sessionStorage 保存 session localStorage cookie

浏览器的缓存机制提供了可以将用户数据存储在客户端的方式,可以利用cookie,session等跟服务器端进行数据交互

1.保存方式

cookie保存在浏览器端

session保存在服务器端

2.使用方法

cookie机制:如果不在浏览器中设置过期时间,cookie被保存在内存中,生命周期随浏览器的关闭而结束,这种cookie简称会话cookie。如果在浏览器中设置了cookie的过期时间,cookie被保存在硬盘中,关闭浏览器后,cookie数据仍然存在,直到过期时间结束才消失。

session机制:当服务器收到请求需要创建session对象时,首先会检查客户端请求中是否包含sessionid。如果有sessionid,服务器将根据该id返回对应session对象。如果客户端请求中没有sessionid,服务器会创建新的session对象,并把sessionid在本次响应中返回给客户端

cookie:判断用户是否登陆过网站,以便下次登录时能够实现自动登录(或者记住密码)。如果我们删除cookie,则每次登录必须从新填写登录的相关信息。

session:Session用于保存每个用户的专用信息,变量的值保存在服务器端,通过SessionID来区分不同的客户。

 

SessionStorage,LocalStorage和cookie这三者都可以被用来在浏览器端存储数据,而且都是字符串类型的键值对。 区别在于前两者属于WebStorage,创建它们的目的便于客户端存储数据。

sessionStorage:

将数据保存在session对象中。所谓session,是指用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。session对象可以用来保存在这段时间内所要求保存的任何数据。

local Storage

将数据保存在客户端本地中,即使浏览器被关闭了,该数据仍然存在,下次打开浏览器访问网站时仍然可以继续使用。

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

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

获取方式:localStorage:window.localStorage;;sessionStorage:window.sessionStorage;。

应用场景:localStoragese:常用于长期登录(+判断用户是否已登录),适合长期保存在本地的数据。sessionStorage:敏感账号一次性登录;

标签:浏览器,sessionStorage,保存,session,localStorage,cookie
From: https://www.cnblogs.com/qianduan-Wu/p/16727270.html

相关文章

  • localStorage存储数据
     1.数据进行存储在本地localStoragelocalStorage.setItem('名字',数据)localStorage.getItem('名字')2.存储和获取的时候需要注意,需要转为字符串和对象JSON.stri......
  • 存储数据 cookie localStorage和sessionStorage区别和使用
     三者主要是从三方面区分存储大小,生命周期和安全性1.cookie存储的数据小,在4KB左右生命周期,默认会话结束,可以设置有效期安全性,存储的数据在浏览器的隐私模式下......
  • 监听localStorage值
    functiondispatchEventStroage(){constsignSetItem=localStorage.setItem;localStorage.setItem=function(key,val){letsetEvent=newE......
  • JS 使用sessionStorage存取对象时显示[object object]的解决
    使用sessionStorage进行数据存取,如果数据是对象,则提取时为[objectobject],基于此问题,解决方法如下: 保存数据时window.sessionStorage.setItem("key",JSON.stringify(v......
  • cookie和session
    1、Cookie介绍1.1 cookie是什么1、HTTP是无状态协议,服务器不能记录浏览器的访问状态,也就是说服务器不能区分两次请求是否由用一个客户端发出2、Cookie就是解决HTTP协......
  • 如何避免SESSION丢失?
    如何避免SESSION丢失?一般的项目在集群的服务器情况下SESSION会出现丢失的问题?原因:默认负载均衡会把每次请求转发到不同的服务器,而SESSION只保存在其中一台服务器,所以当转......
  • getSessionFactory().openSession()导致druid连接池中的连接都占用满但无法回收
    该问题产生的现象页面刷新几次后,就卡住,线上就得需要重新部署(还好是测试环境,不是真正生产环境)过程及原因查看日志线程池满了Causedby:org.springframework.jdbc.Can......
  • spring-session-data-redis解决多redis的问题
    1:参考这篇文章就好了https://github.com/yugabyte/redis-code-samples/blob/69fe87302de0c9524036c8476cbc5ed90e988165/spring-session/spring-session-data-redis/src/t......
  • localstorage && sessionStorage
    localStorage和sessionStorage的区别主要在于其生命周期localStorage相同的协议,主机名,端口,可以读取到localStorage数据sessionStorage:相同的协议,主机名,端口......
  • cookie和session的区别
    1.cookie数据存放在客户端浏览器上,session数据存放在服务器上2.cookie不是很安全,别人可以分析存放在本地cookie并进行cookie欺骗,考虑到安全应当使用使用session3.session......