📜  http 请求的组成部分 - TypeScript (1)

📅  最后修改于: 2023-12-03 15:01:19.926000             🧑  作者: Mango

HTTP 请求的组成部分

HTTP(Hypertext Transfer Protocol,超文本传输协议)是一种用于在网络上进行通信的协议,它用于从 Web 服务器向客户端(例如,浏览器)传输超文本文档(HTML、CSS 和 JavaScript)和其他文件。

HTTP 请求包括以下组成部分:

请求行

请求行包括请求方法、URI 和 HTTP 版本。

以下是一个示例请求行:

GET /api/users HTTP/1.1

在这个请求行中:

  • GET 是请求方法,表示需要获取资源
  • /api/users 是 URI,表示需要获取用户数据的 API 端点
  • HTTP/1.1 是协议版本,表示请求使用 HTTP 1.1 版本。
请求头

请求头包括一组名称-值对,描述了客户端请求的资源以及用于处理请求的首选项。一些常见的请求头包括:

  • Accept:指定服务器可以返回的资源类型
  • Authorization:指定客户端的身份验证信息
  • Content-Type:指定请求正文的 MIME 类型
  • User-Agent:指定客户端的用户代理标识符

以下是一个示例请求头:

Accept: application/json
Authorization: Bearer 1234567890
Content-Type: application/json
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
请求正文

请求正文是向服务器发送的数据,通常包含表单数据、JSON 数据或 XML 数据。请求正文的内容和格式取决于 Content-Type 请求头的值。如果请求不包含请求正文,则此部分为空。

以下是一个示例请求正文:

{
  "username": "john_doe",
  "password": "password123"
}
示例

以下是一个完整的 HTTP 请求示例:

POST /api/login HTTP/1.1
Host: example.com
Content-Type: application/json
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
Accept: application/json
Content-Length: 45

{
  "username": "john_doe",
  "password": "password123"
}

在此示例中,我们向 example.com 的 /api/login 端点发送了一个 POST 请求,请求正文包含用户名和密码。请求头中指定了接受 JSON 格式的响应。