Cookie 曾一度用于客户端数据的存储,因当时并没有其他合适的存储办法而作为唯一的存储手段,但现在推荐使用现代存储 API。由于服务器指定 Cookie 后,浏览器的每次请求都会携带 Cookie 数据,会带来额外的性能开销(尤其是在移动环境下)。新的浏览器 API 已经允许开发者直接将数据存储到本地,如使用 Web storage API(localStorage 和 sessionStorage)或 IndexedDB 。
在 JavaScript 中,Cookie 可以通过 document.cookie
进行设置、获取和删除。以下是一些具体的例子,展示如何在 JavaScript 中操作 HTTP Cookie。
1. 设置 Cookie
通过 document.cookie
设置一个 Cookie 的例子:
1 | // 设置一个名为 "username" 的 Cookie,有效期为7天 |
这里的 document.cookie
会将 username
设置为 JohnDoe
,并将 Cookie 的有效期设为 7 天。
2. 获取 Cookie
获取 Cookie 的值时,我们可以从 document.cookie
中找到特定的 Cookie 值:
1 | // 获取名为 "username" 的 Cookie 值 |
这里,我们首先通过 document.cookie.split(";")
分割所有 Cookie,然后检查是否存在指定名称的 Cookie。
3. 删除 Cookie
删除 Cookie 可以通过将 Cookie 的有效期设为过去的时间来实现:
1 | // 删除名为 "username" 的 Cookie |
设置 expires
为一个过去的日期,浏览器会删除该 Cookie。
4. 综合示例:设置、获取和删除 Cookie
一个简单的完整示例,用来设置、获取和删除 Cookie:
1 | // 设置 Cookie |
总结
- 设置 Cookie:通过
document.cookie
直接赋值并指定过期时间。 - 获取 Cookie:解析
document.cookie
中的字符串内容。 - 删除 Cookie:设置过期时间为过去的日期。