HTTP/1.1协议中的请求报文

2023年8月30日,周三上午


目录


概述

HTTP/1.1协议的请求报文由以下几个部分组成:

  • 请求行(Request Line)
  • 请求头部(Request Headers)
  • 空行(Blank Line)
  • 请求体(Request Body)

需要注意的是,请求头部是可选的,而请求行和空行是必需的。

请求报文示例

GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Content-Type: application/json

{"name": "John", "age": 25}

在这个示例中,

请求行指定了使用GET方法请求/index.html页面,使用HTTP/1.1协议版本。

请求头部包含了Host、User-Agent、Accept和Content-Type等字段。

请求体是一个JSON格式的数据。

详述

请求行(Request Line): 请求行包含了请求方法、请求目标(URL或URI)和HTTP协议版本。它们之间使用空格分隔。例如:GET /index.html HTTP/1.1

请求头部(Request Headers): 请求头部包含了关于请求的元信息,以键值对的形式出现。每个键值对占据一行,键和值之间使用冒号(:)分隔。常见的请求头包括Host(请求的目标主机)、User-Agent(发送请求的用户代理,通常是浏览器)、Accept(客户端可接受的媒体类型)等。

空行(Blank Line): 请求头部和请求体之间由一个空行分隔,用来表示请求头部的结束。

请求体(Request Body): 请求体主要用于POST等请求方法,用于传递请求的实际数据。请求体的格式取决于请求的内容类型,例如表单数据、JSON、XML等。