HTTP请求报文的结构通常由三部分组成:请求行、头部和主体。
请求行包含了HTTP请求的方法、请求的URL地址和HTTP协议的版本信息。
头部包含了HTTP请求的各种信息,如User-Agent、Content-Type和Authorization等等。
主体是可选的,包含了实际传输的数据,比如表单数据、JSON数据等。
下面是HTTP请求报文的示例:
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Upgrade-Insecure-Requests: 1
If-Modified-Since: Mon, 27 Jul 2020 08:00:00 GMT
If-None-Match: "123456789"
Cache-Control: max-age=0
上面的请求报文以GET方法请求URL为/index.html的资源,HTTP版本为1.1。头部包含了一些请求相关的信息,同时也包含了一些浏览器的相关信息。主体为空。