a) Cookie数据始终在同源的http请求中携带(不管需要不需要), 即cookie在浏览器和服务器之间来回传递。而sessionStorage和localStroage不会自动把数据发送给服务器,仅在本地保存。Cookie数据还有路径的概念,可以限制保存在某个路径下;
b) 存储大小限制也不同,cookie数据不能超过4k,同时因为每次Http请求都会携带cookie,所以cookie只适合保存很小的数据,比如会话标识。sessionStroage和localstroage虽然也有大小限制,但是比cookie大很多,可以达到5M或更大;
c) 数据有效期也不同,sessionStroage仅在当前浏览器窗口关闭前有效;localStroage始终有效,窗口或者浏览器关闭也一直保存;cookie在设置的有效期内有效,不管窗口或者浏览器是否关闭;
d) 作用域不同,sessionStroage不能在不同的浏览器窗口共享,即使是同一个页面;localStroage在所有的同源窗口中都是共享的;cookie也是在所有的同源窗口中共享的;
e) Web storage 支持事件通知机制,可以将数据更新的通知发送给监听者;
f) Web storage 的api接口使用更方便。