WebStorage网络存储中的本地存储LocalStorage和会话存储SessionStorage他们和cookie的区别是什么?
cookie参与http请求携带在header中,其中的session服务器和本地双端对标保存,容量很小只有4KB,WebStorage只保存在本地供读取,不参与网络请求容量大一般在5MB左右;
Cookie 的本职工作并非本地存储,而是“维持状态”的是用来辨别用户身份信息等作用的;
Cookie
Cookie是一种存储机制,我们第一次请求一个网页的时候没有cookie;
cookie的生成它是怎么生成的呢?
当服务器在收到我们访问网页的请求后,会在http响应头部信息里添加set-cookie;
大家可以在浏览器头部信息的set-cookie里看到此信息,并且在我们下一次访问这个域的网页时浏览器会在http请求里添加头部cookie信息,这样服务端就可以根据不同的set-cookie信息匹配不同的内容,例如配合session,登录网站后台或者前台登录信息等。。。
由于后面每次访问这个域的网页链接都要把cookie信息传给服务端,如果cookie信息太大,那么就太耗费网络带宽和服务器资源,所以cookie一般都比较小,最大不会超过4KB大小;
Cookie是有过期时间的,一般服务器下发cookie的时候会设置好过期时间;
按照过期时间可以分为两类:会话cookie和长久Cookie;
不设置过期时间的cookie为会话cookie,它是一种临时cookie,对标服务器端的Session,当用户退出浏览器,会话cookie就会被删除;
长久cookie则会储存在硬盘里,保留时间更长,不以浏览器的关闭而删除(当然浏览器设置了关闭清除缓存cookie除外),一般设置的过期时间都三天,七天等一定的存活周期性;
由于cookie是存储在我们浏览器本地的,所以我们也可以自己手动删除cookie;
Web存储(WebStorage)
由于cookie存储空间很小,所以在html5中为了解决这个问题(当然还有其他问题),新增加了一个Web Storage也就是网络存储,意如其名用来在网络浏览中存储数据的;
Web存储(WebStorage)实际上由两部分组成:本地存储(SessionStorage)和会话存储(LocalStorage)他们不参与http通讯只保存在本地供读取;
localStorage和sessionStorage比较大5M左右各浏览器有所不同;
SessionStorage会话存储:只在当前页面有效,若想在不同页面之间对同一个sessionStorage进行操作,这些页面必须在同一主机名和同一端口、同一协议下才行;
它用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据,相对安全性较高,数据保存在本地浏览器里;
LocalStorage本地存储:类似于SessionStorage不同之处在于数据存储时间的不同,数据存储在LocalStorage是无期限的,当然我们是可以手动删除的,并且LocalStorage是只读的;
浏览器都能支持cookie,但是只有新一的代浏览器才能支持Web存储哦,IE7 及更早IE版本内核的浏览器不支持web存储;
已有 528 位网友参与,快来吐槽:
发表评论