返回博客

Cookie 介绍:理解与应用 JavaScript Cookie

Cookie 介绍:理解与应用 JavaScript Cookie

浏览器 Cookie,或 HTTP Cookie,是由微小数据片段组成的文本文件。网站使用这些信息来跟踪用户’的浏览轨迹,从而为他们提供量身定制的功能并改善其浏览体验。Cookie 最多可以存储 4096 字节的数据。不过,根据浏览器的不同,我们每个域名只能添加有限数量的 Cookie。

对于任何互联网用户来说,基本了解 HTTP Cookie 都是必不可少的,无论您’只是为了好玩而浏览,还是以此谋生。本指南将 详细向您介绍 Cookie 及其各种类型。我们的重点是帮助您理解和使用 JavaScript Cookie.

让我们’开始吧!

前提条件

要学习本教程,您必须具备:

JavaScript Cookie 入门

使用 JavaScript Cookie 非常简单。它允许轻松创建、编辑和检索 Cookie。此外,我们可以使用 Document 对象’的 cookie 属性来操作和限制 Cookie 的属性,例如名称、值和长度等。

Cookie 的类型

首先,让我们来看看不同类型的 Cookie:

  1. 第一方 Cookie

这些 Cookie 是在用户每次访问网站时创建并存储的。它允许网站所有者深入了解用户’的数据,并为他们提供更好的浏览体验。

  1. 持久性 Cookie

对于这种 Cookie,发行者会指定一个过期日期。因此,它的使用时间要长得多。这意味着即使您关闭浏览器,Cookie 仍会保留在其中。此外,每次您访问创建该 Cookie 的网站时,数据都会返回给发行者。

  1. 会话 Cookie

这些 Cookie 只是临时的,在浏览器打开时会存储在浏览器的内存中。当您关闭浏览器时,Cookie 会从浏览器的历史记录中删除,从而降低了安全风险。您不需要指定过期日期。

  1. 第三方 Cookie

第三方 Cookie 是由您当前未访问的网站创建的。大多数情况下,这些 Cookie 有助于跟踪点击了广告的用户,并将其与推荐他们的域名关联起来。

创建 Cookie

我们可以使用两种方法来创建 Cookie:

  1. 发送 Set-Cookie,在 HTTP 响应头中。根据用于 Web 服务器的技术,您可以使用工具和库来管理 Cookie 标头。Cookie 可以包含诸如过期日期之类的信息,以及诸如安全指令和 HttpOnly 标志等安全特性。

  • HttpOnly: 它表示浏览器无法读取或修改 Cookie。

  • Secure: 这表示 Cookie 只能通过 HTTPS 发送。

  1. 使用 JavaScript document.cookie 属性,我们可以创建、读取和删除 Cookie。

步骤 1 — 创建 Cookie

接下来,我们将演示创建 JavaScript Cookie 的过程。Cookie 以键值对格式保存:

在上述 Cookie 中, UserName 是 Cookie 的名称,而 CloudSigma 是存储在其中的值。

Cookie 具有过期日期。默认情况下,它会在关闭浏览器时自动删除。您还可以为 Cookie 添加过期日期:

默认情况下,Cookie 属于当前页面。但是,我们也可以借助 path 参数来指定 Cookie:

  • Cookie Max-Age 与 Cookie Expire

根据您的需要,您可以使用这两种策略来设置 Cookie 的过期日期。两者的区别在于 expires 设置了删除 Cookie 的过期日期。相反, max-Age 设置 cookie 将被删除的时间(以秒为单位)。不幸的是, max-age 并非所有浏览器都支持。

使用 设置 cookie 的示例expiresmax-age:

Expires:

Max-age :

Step 2 — Reading a Cookie

document.cookie 属性返回一个字符串。如果有两个或多个 cookie,我们使用分号( ;)和空格来分隔它们。

我们使用 split() 方法从 cookie 列表中提取单个 cookie。此方法将列表分解为单独的名称和值对。完成后,您就可以搜索要读取的目标 cookie:

让我们来了解一下我们在代码中创建的函数:

函数名称 描述
setCookie() 创建 cookie
getCookie() 读取 cookie 的值
checkCookie() 验证 UserName 是否已设置。

在下一步中,我们将学习如何更新 cookie。

第 3 步 — 更新 Cookie

我们可以为 cookie 属性设置新值。在我们的示例中,让我们将用户的订阅从月度计划更新为季度计划。

让我们将 max-age 属性(对于 UserName cookie)从 30 天更新为 180 天:

第 4 步 — 删除 Cookie

使用相同的名称重新设置 cookie 将删除您要清除的 cookie。我们可以通过将 max-age 属性设置为 0:

此外,如果 Cookie 具有指定的路径,请通过指定该路径来删除它:

结论

Cookie 对于网站的正常运行和发挥功能是必不可少的。在这篇入门教程中,我们详细讨论了 Cookie 及其不同的类型。此外,我们还通过一个示例学习了如何使用 Cookie。既然您已经可以熟练使用 JavaScript Cookie,那就开始创建自定义 Cookie,以学习和探索关于该主题的更多内容吧。

此外,您还可以从我们的 博客:

祝您编程愉快!

author

Preslav Dobrev

作者 · CloudSigma

Preslav Dobrev 是 CloudSigma 的创意设计师,专注于通过传统和创新营销渠道打造一致的企业形象。他擅长将艺术愿景与战略营销相融合,创造具有影响力的品牌叙事。

评论

暂无评论。发表第一条评论吧。