什么是 Cookie?一文介绍

Cookie 是存储在用户浏览器中的小块数据,用于保存用户偏好、会话信息等。它包含名称、值、域、路径和过期时间等部分。

用 Apifox,节省研发团队的每一分钟

什么是 Cookie?一文介绍

免费使用 Apifox

相关推荐

最新文章

API

一体化协作平台

API 设计

API 文档

API 调试

自动化测试

API Mock

API Hub

立即体验 Apifox
目录

Cookie 是一小块存储在用户浏览器中的数据,这些数据通常包括了用户的偏好设置、会话信息以及其他跟踪信息,最早的 Cookie 是为了让网站能够记住用户的登录状态而诞生的。

什么是 Cookie


Cookie 包含几个主要的部分:

  • 名称和值:这是 Cookie 的核心,比如 “username=JohnDoe”。
  • 域(Domain):指定哪个网站能够读取这个 Cookie。
  • 路径(Path):指明 Cookie 对应的路径范围。
  • 过期时间(Expires):Cookie 的有效期限,过期后自动删除。

 
当你访问一个网站时,服务器可以通过 HTTP 头部设置 Cookie。浏览器接收到这些信息后,会将 Cookie 存储在本地,直到它过期或被删除。

 

客户端与服务器的交互

每当你访问一个网站时,浏览器会在 HTTP 请求中发送存储的 Cookie。服务器接收到这些 Cookie 后,能够识别你的身份或者获取你之前的设置,然后做出相应的响应。

+---------------------+               +---------------------+
|     浏览器           |               |       服务器         |
+---------------------+               +---------------------+
|                     |               |                     |
|    1. 发送请求        |  HTTP请求     |                     |
|   (无Cookie)         |  -----------> |                     |
|                     |               |                     |
|                     |               |                     |
|                     |               |  2. 设置Cookie       |
|                     |               |   (Set-Cookie头)     |
|                     |               |  <--------------    |
|                     |               |                     |
|    3. 接收响应       |  HTTP响应      |                     |
|    (包含Cookie)      |  <------------|                     |
|                     |               |                     |
|    4. 存储Cookie     |               |                     |
|    (存储在浏览器中)    |               |                     |
+---------------------+               +---------------------+

 

  • 会话 Cookie:这些 Cookie 只在浏览器会话期间有效,当你关闭浏览器时,它们就会消失。
  • 持久 Cookie:这些 Cookie 有一个过期时间,过期后会自动删除。在过期之前,即使你关闭了浏览器,它们仍然会保存在你的电脑上。
+---------------------+               +---------------------+
|     浏览器           |               |       服务器         |
+---------------------+               +---------------------+
|                     |               |                     |
|  1. 访问网站         |               |                     |
|   (加载Cookie)      |                |                     |
|                     |               |                     |
|  2. 发送请求         |  HTTP请求      |                     |
|   (包含Cookie)      |  ------------> |                     |
|                     |               |                     |
|                     |               |                     |
|                     |               |  3. 处理请求         |
|                     |               |  (可能更新Cookie)    |
|                     |               |  <--------------    |
|                     |               |                     |
|    4. 接收响应       |               |                     |
|    (可能更新Cookie)  |               |                     |
+---------------------+               +---------------------+

 

同源策略

为了保护隐私,浏览器实行了同源策略。简单来说,这意味着 Cookie 只能被设定它的域名和路径所匹配的网站读取。比如,你在 example.com 上设置的 Cookie,sub.example.com 是无法读取的。

+---------------------+               +------------------------- +
|     浏览器           |               |       服务器              |
+---------------------+               +------------------------- +
|                     |               |                          |
|    1. 设置Cookie     |  (域名匹配)     |  Cookie 数据             |
|   (example.com)     |  ------------> |  只能被 example.com 读取  |
|                     |               |                          |
|                     |               |                          |
|    2. 访问子域名      |               |                          |
|   (sub.example.com) |               |                          |
|                     |               |                          |
|                     |               |  3. 子域名无法访问父域名Cookie 
|                     |               |  (Cookie 无法读取)        |
+---------------------+               +--------------------------+

 

用户认证

Cookie 常被用来维持用户的登录状态。当你登录一个网站时,服务器会设置一个 Cookie 来标识你,以便你在之后的访问中不需要重新登录。

 

个性化设置

很多网站使用 Cookie 来保存用户的偏好设置,比如语言选择或主题设置。这样每次你访问时,网站会根据你之前的设置自动调整。

 

跟踪与分析

网站可以使用 Cookie 跟踪用户的行为,比如你访问了哪些页面、停留了多久。这些数据对于网站优化和广告定向非常有用。

 

实践应用

使用 JavaScript 可以轻松地设置 Cookie:

document.cookie = "username=JohnDoe; expires=Fri, 31 Dec 2024 23:59:59 GMT; path=/";

 

你可以通过浏览器的开发者工具来查看和管理 Cookie。例如,在 Chrome 中,打开开发者工具,切换到 “Application” 选项卡,可以找到 “Cookies” 部分。

 

可以通过 JavaScript 删除 Cookie:

document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/";

 

Apifox 是一个全面的 API 设计测试调试文档工具,它提供了丰富的功能来支持 API 生命周期的各个阶段,包括 API 接口设计、测试用例编写、调试请求等。它不仅可以帮助你设计和测试 API,还支持管理 Cookie。通过 Apifox,你可以在测试 API 请求时轻松管理 Cookie,以便模拟真实的请求场景和测试不同的业务逻辑。

 
你可以在 Apifox 中为 API 请求设置 Cookie,以模拟用户的登录状态或其他必要的会话信息。以下是设置 Cookie 的步骤:

 
登录 Apifox,进入你想要工作的项目或创建一个新项目。在项目中选择一个已有的 API 请求或创建一个新的请求。在请求编辑界面,点击右侧的 “Headers” 或 “Cookies” 选项卡来配置请求的相关设置。在 “Cookies” 选项卡中,你可以添加新的 Cookie,点击 “添加” 按钮,然后输入 Cookie 的名称、值及其他相关属性(如过期时间、路径等)。完成 Cookie 配置后,保存你的设置并发送请求,Apifox 将自动将这些 Cookie 作为请求的一部分发送到服务器。

什么是 Cookie


当接口发送请求后,如果服务器返回了 Cookie,那么 Apifox 会自动保存这些 Cookie,你可以在 “Cookie 管理”中查看。在后续的请求中,Apifox 会自动将保存的 Cookie 添加到请求头中,你可以在请求的 Headers 部分看到这些 Cookie。

什么是 Cookie

 

总结

Cookie 是存储在用户浏览器中的小块数据,用于保存用户偏好、会话信息等。它包含名称、值、域、路径和过期时间等部分。服务器通过 HTTP 头部设置 Cookie,浏览器接收并存储它们,Cookie 分为会话 Cookie 和持久 Cookie,分别在会话结束或过期时自动删除,为了隐私保护,同源策略限制了 Cookie 的访问权限。在 Apifox 中,可以方便地管理和测试 Cookie,推荐使用!

Apifox