HTTP 请求和响应

Web 浏览器通过遵循 HTTP 协议与网站互动。这是一套标准化的沟通规则

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

例如,假设某个网站为 cats.example.

虚构的 cats.example 网站。

请求

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

HTTP 请求可以通过 HTTP 请求标头进行扩充,以便将补充信息从浏览器提供给 Web 服务器。例如,通常会包含以下标头:

  • 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”(浏览器版本)。

响应

当 Web 服务器收到来自浏览器的有效请求时,服务器会向浏览器发送响应,其中包含所请求的资源(“载荷”):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 可供请求的目标服务器使用。

演示

工具

了解详情