webStorage和cookie的对比

介绍:

Cookie是绑定在特定的域名下的,当设定一个cookie之后再给创建它的域名发送请求时,都会包含这个cookie,这个限制确保了储存在cookie中的信息只能让批准的接受者访问,而无法被其他域访问。每一个域的cookie的总数都是有限的,数量因浏览器而异浏览器对于cookie的尺寸也是有限制的,大多数浏览器都有大约4096B的长度限制。

 

Web Storage是HTML5引入的一个非常重要的功能,在前端开发中经常用到,可以在客户端本地存储数据,类似HTML4的cookie,但可实现功能要比cookie强大的多,cookie大小被限制在4KB,Web Storage官方建议为每个网站5MB。Web Storage又分为两种:

sessionStorage

以域名为单位进行数据划分

同域下的所有页面一起共享这些数据

对数据的改动会导致同时共享这些数据的其他页面触发storage事件

localStorage

以每个“顶级页面(top-level browsing context)”为单位

在所有同域的“子页面”中共享这些数据(对数据的改动会触发storage事件)

扫描二维码关注公众号,回复: 2996941 查看本文章

为所有同域的以下“顶级页面”拷贝这些数据(通过超链接新打开的页面、通过脚本新打开的页面)

sessionStorage将数据保存在session中,浏览器关闭也就没了;而localStorage则一直将数据保存在客户端本地,除非主动删除数据,否则数据是永远不会过期的;

不管是sessionStorage,还是localStorage,可使用的API都相同,拥有setItem,getItem,removeItem,clear等方法

setItem(key,val)设置

 getItem(key)获取

webStorage。removeItem(key)删除单个

webStorage.clear()清除所有

 

 

共同点:

都是保存在浏览器端,且同源的

 

区别:

webStorage

1,是为了更大的容量存储设计的。比cookie大得多,可以达到5M或更大。

2Web Storage拥有setItem,getItem,removeItem,clear等方法,不像cookie需要前端开发者自己封装setCookie,getCookie。

3,webStorage仅仅是为了本地 "存储" 数据而生的。

Cookie

1.大小是受限的,并且你每请求一次新的页面的时候,cookie都会被发送过去,这个无形中浪费了带宽。

2,cookie是需要指定作用域的,是不可以跨域调用的。

3,需要前端开发自己封装setCookie,getCookie

4,cookie的作用是与服务器进行交互,作为HTTP规范的一部分而存在。

5. cookie数据还有路径(path)的概念,可以限制。cookie只属于某个路径下、

 

6. cookie存在安全性问题。如果cookie被人拦截了,那人就可以取得所有的session信息。

猜你喜欢

转载自blog.csdn.net/qq_33188563/article/details/82154292
今日推荐