localStorage、sessionStorage、cookie、session

在HTML5中,新加入了一个localStorage的特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4K),localStorage中一般浏览器支持的是5M大小,这个在不同的浏览器中localStorage会有所不同。

localStorage的优势:

    1、localStorage拓展了cookie的4K限制

    2、localStorage会将第一次请求的数据直接存储到本地,这个相当于一个5M大小的针对前端页面的数据库,相比于cookie可 以节约带宽,但是这个却是只能在高版本的浏览器中得到支持。

localStorage的局限:

    1、需要得到高版本浏览器支持,如IE8以上

    2、目前所有的浏览器中都会把localStorage(对象)的值类型限定为string类型,这个在对我们日常比较常见的JSON对象类型需要一些转换

    3、localStorage在浏览器的隐私模式下是不可读取的

    4、localStorage本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡

    5、localStorage不能被爬虫抓取到

注意:localStorage与sessionStorage的唯一一点区别就是localStorage属于永久性存储,而sessionStorage属于当会话结束的时候,sessionStorage中的键值对会被清空,都是本地存储

操作存储的方法:

getItem、setItem、removeItem、clear、keys

 

cookie

JavaScript可以通过document.cookie属性来创建,读取,删除cookie,并以字符串的方式返回所有的cookies,类型格式:cookie1=value1;cookie2=value2;cookie3=value3

 

session

在服务器端生成session后,session会被存储在服务器内存中,

每一块session都被以sessionId唯一标识,sessionId是一串由32位数字和字母组成的code。

session块之间无法互相访问。

在服务器返回给客户端时,sessionId会随response返回到浏览器的cookie中。

客户端下次向服务器发送请求时,会将sessionid作为cookie的一部分附带在request中。

服务器根据request中的sessionid找打对应的session,执行后续业务操作。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章