共同点:都保存在浏览器,且是同源的
不同点:cookie在浏览器和服务器间来回传递,sessionStorage和localStorage不会自动把数据发给服务器,仅在浏览器本地保存。
cookie:
- 在浏览器和服务器间来回传递;
- cookie数据不能超过4K;
- 因为每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如会话标识。
- 数据有效期:只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。
- 作用域:在所有同源窗口中都是共享的。
sessionStorage:
- 存储数据可以达到5M或者更大;
- 数据有效期:仅在当前浏览器窗口关闭前有效。
- 作用域:不在不同的浏览器窗口中共享,即使是同一个页面(tab)。
localStorage:
- 存储数据可以达到5M或者更大;
- 数据有效期:始终有效,窗口或者浏览器关闭也一直保存。
- 作用域:在所有同源窗口中共享。
service worker:
离线化存储,主要是为了可以在离线的时候访问