谈谈对 cookie 的理解
💡
原文中文,约5400字,阅读约需13分钟。
📝
内容提要
HTTP是无状态协议,为解决此问题引入了Cookie机制,用于存储用户身份信息。前端可通过document.cookie读取和修改Cookie。Chrome 87版本后提供了cookieStore API操作Cookie。
🎯
关键要点
- HTTP是无状态协议,Cookie机制用于存储用户身份信息。
- Cookie在用户请求时由服务器颁发,浏览器会自动添加到请求头中。
- 前端可以通过document.cookie读取和修改Cookie。
- Cookie的读取通过分割字符串获取key和value,但无法获取domain和path信息。
- Cookie的设置包括expires、domain、path和httpOnly等属性。
- document.cookie一次只能设置一个Cookie,多个Cookie需逐个设置。
- 服务端通过set-cookie设置Cookie,支持多种属性。
- 修改Cookie只需重新赋值,删除Cookie通过设置过期时间实现。
- 相同name的Cookie在不同domain或path下可能存在多份,需注意覆盖更新。
- Chrome 87版本后提供cookieStore API,支持异步操作Cookie。
- cookieStore API支持在HTTPS协议下使用,提供读取、设置、删除和监听Cookie变化的功能。
➡️