一、几个概念
·cookie、session,会话跟踪技术,H4的存储机制
·localStorage、sessionStorage是web Storage,H5的本地存储机制。
·web Storage是针对H4中cookie存储机制的改善,主要提供cookie之外的存储会话数据的路径,跨会话、持久化存储大量数据。
二、cookie、session区别
·作用及存储位置:它们都用户记录客户状态,不过cookie保存在客户端,session保存在服务器端,且session依赖cookie,因为sessionID存在cookie中。
·存储内容及大小:cookie以文本的形式,只能保存字符串类型,且大小为4kb左右;session通过类似hashtable的数据结构保存,能支持任意类型的对象,大小没有限制。
·区分路径及跨域问题:cookie设置了路径参数,则同一网站中不同路径下无法互相访问cookie,cookie通过设置后缀属性即可跨域名访问;session不能区分路径,同一用户访问期间,所有网页都可以互相访问session,session仅能在所在域名内生效。
·安全性:session安全性大于cookie,因为:
1.sessionID是加密的;
2.sessionID存储在cookie中,需要攻破cookie后才能拿到;
3.sessionID需要在用户登录后或者启动session_start才会出现,所以攻破cookie也不一定能拿到sessionID;
4.第二次启动session_start后,前一次的sessionID会失效,session过期后,sessionID也会失效
所以攻击者必须在短时间内攻破加密的sessionID,这很困难。
三、cookie、sessionStorage、localStorage区别
·写入方式及大小:cookie由服务端写入,cookie大小约为4KB;sessionStorage、localStorage则由客户端写入,大小约为5MB。
·生命周期:cookie在写入时就已由服务端设定,sessionStorage的生命周期持续到页面关闭,localStorage的生命周期一直存在,直至手动清除;
·请求时携带:Web Storage不会传送到服务器,存储在本地的数据可以直接获取,也不会像cookie一样每次请求都会传送到服务器,所以减少了客户端和服务器端的交互,节省了网络流量;
·安全性:Web Storage不会随着HTTP header发送到服务器端,所以安全性相对于cookie来说比较高一些,不会担心截获,但是仍然存在伪造问题;
原文地址:http://www.cnblogs.com/jackdongdong/p/16838436.html