特性 | Cookie | localStorage | sessionStorage |
存储大小 | 4KB左右 | 一般为5MB | |
数据的生命周期 | 一般由服务器生成,可设置失效时间。如果是在浏览器端生成Cookie,默认关闭浏览器后失效 | 永久保存,除非手动清除 | 仅在当前会话下有效,当关闭页面或浏览器(即结束会话)后被清除 |
与服务端的通信 | 始终在同源的http请求中携带,即使不需要,也会在浏览器和服务器来回传递 | 仅在客户端(浏览器)存储,不参与和服务器的通信 | |
易用性 | 需手动封装 | 有现成的API |
cookie、localStorage和sessionStorage的大致区别
1 存储大小:cookie最大4KB;localStorage和sessionStorage一般5MB左右。
2 数据生命周期:cookie可设置失效时间,默认关闭浏览器失效;localStorage可永久保存,除非手动清除;sessionStorage在会话结束时清除。
3 与服务器通信:cookie会在http请求中携带;localStorage和sessionStorage仅在客户端存储,不参与通信。
4 易用性:cookie需要手动封装,localStorage和sessionStorage拥有现成的API。