一.浏览器机制:cookie,sessionStorage,localhostStorage
相同点:都保存在浏览器端,都是同源的
不同点:
1,是否发生给服务器
cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递;cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下。存储大小限制也不同,cookie数据不能超过4k,同时因为每次http请求都会携带 cookie,所以cookie只适合保存很小的数据,如会话标识。
而sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。
2,有效期时间不同
cookie需要设置过期时间,才能失效
sessionStorage需要关闭当前浏览器,才能失效
localStorage永久保存在浏览器中
3,作用域不同
sessionStorage不在不同的浏览器窗口中共享,
cookie和localStorage在同源的窗口都是共享的
4,挂载的对象不同
cookie挂载document下
sessionStorage和localStorage在window下
二,cookie的使用
1.创建cookie
1).document.cookie属性设置字符串:name = value
2). 数据进行编码和解码
/使用encodeURIComponent()进行编码
/使用decodeURIComponent()进行解码
/cookie值不能含有分号,逗号和空白符
2.cookie的可选参数
1).expires = 时间:过期时间
将expires设置为过期的时间可以删除cookie
2).path:
指定了与cookie关联在一起的网页,如果把path设置为"/",那么它对该网站的所有网页可见
3).domain
设置cookie的有效域名,一般使用默认值,当前绑定的域名,本地测试无效
4).secure
指定网络上如何传输cookie,默认为普通http协议传输;若设置为安全的,只能通过https安全协议才能传输
三,sessionStorage和localStorage的使用
setItem()添加数据,getItem()获取数据,也可以直接在localStorage()或sessionStorage()中使用传值
removeItem()删除数据,clear()清空数据