比较Cookie Session localStorage se

2018-04-11  本文已影响0人  信仰与初衷

今天在做Vue的项目时,遇到一个关于存储数据list的问题,最初打算是放在Vuex中,但发现一旦刷新页面就消失了,必须重新请求。于是,我又想了下把list存储在cookie里,发现cookie又有大小限制,而放在localStorage中又会一直存在,必须手动清除,最后选择了sessionStorage中。发现原来还有这样的几种不同的方式,这里就对现有的cookie,session,localstorage,sessionstorage进行分析下:

cookie和session都是用来跟踪浏览器用户身份的会话方式。区别:

1、保持状态:

2、使用方式:

Cookie是服务器发给客户端的特殊信息,cookie是以文本的方式保存在客户端,每次请求时都带上它

3、存储内容:

4、存储的大小:

5、安全性:cookie:针对cookie所存在的攻击:Cookie欺骗,Cookie截获;session的安全性大于cookie。原因如下:

6、缺点:

- 大小受限
- 用户可以操作(禁用)cookie,使功能受限
- 安全性较低
- 有些状态不可能保存在客户端。
- 每次访问都要传送cookie给服务器,浪费带宽。
- cookie数据有路径(path)的概念,可以限制cookie只属于某个路径下。
- Session保存的东西越多,就越占用服务器内存,对于用户在线人数较多的网站,服务器的内存压力会比较大。
- 依赖于cookie(sessionID保存在cookie),如果禁用cookie,则要使用URL重写,不安全

WebStorage

WebStorage的目的是克服由cookie所带来的一些限制,当数据需要被严格控制在客户端时,不需要持续的将数据发回服务器。

WebStorage两个主要目标:

HTML5的WebStorage提供了两种API:localStorage(本地存储)和sessionStorage(会话存储),以下从各个方面来比较区别

1、生命周期:
2、存储大小:

localStorage和sessionStorage的存储数据大小一般都是:5MB

3、存储位置:

localStorage和sessionStorage都保存在客户端,不与服务器进行交互通信。

4、存储内容类型:

localStorage和sessionStorage只能存储字符串类型

5、获取方式:
6、应用场景:

WebStorage的优点:

setItem (key, value) ——  保存数据,以键值对的方式储存信息。
getItem (key) ——  获取数据,将键值传入,即可获取到对应的value值。
removeItem (key) ——  删除单个数据,根据键值移除对应的信息。
clear () ——  删除所有的数据
key (index) —— 获取某个索引的key
上一篇下一篇

猜你喜欢

热点阅读