Cookie
很多文章里会把 Cookie 作为一种前端的数据存储方案与 Local Storage 和 Session Storage 放在一起,然而在我看来,它并非是为满足前端开发中的数据存储而设计的,也不适合用作前端开发的数据存储。
浏览器
限制
浏览器对每个域名下的 Cookie 的总数量和总大小有限制:
| 浏览器 | 数量(个) | 大小(字节) |
|---|---|---|
| IE 6 | 20 | 4095 |
| IE 7 及以上 | 50 | 4095 |
| Opera | 30 | 4096 |
| Firefox | 50 | 4097 |
| Safari | - | 4097 |
| Chrome | 53 | 4097 |
操作
只要 HTTP 请求的响应头中没有设置 Set-Cookie: HttpOnly,就可以在浏览器中使用 JavaScript 的 document.cookie 对 Cookie 进行新增及更新操作。
无法对 Cookie 进行删除操作,但可以通过更新某个 Cookie 的过期时间使其失效来达到「删除」的目的。