谈谈对 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变化的功能。
➡️