HTTP 请求和响应

网络浏览器遵循 HTTP 协议与网站互动。这是一组标准化的规则,用于进行通信:

  • 当您访问网页时,浏览器会发送 HTTP 请求来获取网页上的资源,例如 HTML、CSS、JavaScript 和图片。
  • HTTP 服务器(托管网站的 Web 服务器)收到来自浏览器的有效 HTTP 请求时,该服务器会向浏览器发送 HTTP 响应
  • 请求和响应可以包含额外的信息,称为 HTTP 标头

例如,请考虑网站 cats.example.

虚构的 cats.example 网站。

请求

访问 cats.example 页面会发起一系列对各种网域的请求。这包括对 cats.example 本身托管的图片的请求、对 analytics.example 中的分析脚本的请求,以及对其他网域中的其他资源的其他请求。

HTTP 请求可以添加 HTTP 请求标头,以便从浏览器向网络服务器提供补充信息。例如,通常会添加以下标头:

  • Accept-Language: en-US
    此标头表示用户的首选语言,在本例中为英语(美国)。
  • User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36
    此标头提供有关用户浏览器和操作系统的详细信息,在本例中分别为“Mozilla/5.0”(浏览器系列)、“Macintosh”(操作系统)和“Chrome/127.0.0.0”(浏览器版本)。

响应

当网络服务器收到来自浏览器的有效请求时,服务器会向浏览器发送响应,提供请求的资源(“载荷”):HTML、CSS、JavaScript、图片文件、视频或其他数据。就像来自浏览器的每个请求都可以包含请求标头一样,来自服务器的每个响应都可以包含响应标头。这些响应标头会随载荷一起发送。

响应中包含的 Set-Cookie 标头会指示浏览器存储一些文本:名称和值。这称为 HTTP Cookie。为了响应对 cats.example/images/cat.jpg 的请求,cats.example 服务器会包含标头 Set-Cookie:cat=tabby。这会指示浏览器存储一个名为 cat 且值为 tabby 的 Cookie。

然后,该 Cookie 将包含在对 cats.example, 的后续请求中,直到该 Cookie 过期或被移除。这样,服务器便可以在多个网页或会话中维护用户的相关信息:例如,用户已看到虎斑猫的图片。


标题 操作 示例 效果
HTTP 响应
服务器到浏览器
Set‑Cookie 网络服务器会要求您的浏览器存储 Cookie。 Set‑Cookie:cat=tabby 浏览器会存储该 Cookie,并在后续请求中将其提供给设置该 Cookie 的服务器。
HTTP 请求
浏览器到服务器
Cookie 您的浏览器提供 Cookie。 Cookie:cat=tabby 该 Cookie 会提供给请求的目标服务器。

演示

工具

了解详情