HTTP请求例子
假设我们要通过HTTP GET请求从服务器获取一个网页的内容,请求信息可能如下:
请求行
GET /index.html HTTP/1.1
- 请求方法:GET,表示请求获取资源。
- 请求的URL:/index.html,指定了要获取的资源路径。
- HTTP协议版本:HTTP/1.1,表示使用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/106.0.0.0 Safari/537.36
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
- Host:指定请求发送到的服务器域名。
- User-Agent:标识发出请求的客户端类型,如浏览器类型和版本。
- Accept:告诉服务器客户端可以接受的响应内容类型。
- Accept-Language:告诉服务器客户端的首选语言。
- Accept-Encoding:告诉服务器客户端支持的压缩编码类型。
- Connection:指定是否保持连接,
keep-alive
表示持久连接。
请求体(对于GET请求,通常没有请求体)
GET请求通常不包含请求体,因为所有需要发送的数据都包含在URL的查询字符串中。
完整请求示例
将请求行、请求头和请求体(对于GET请求为空)组合起来,完整的HTTP GET请求示例如下:
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/106.0.0.0 Safari/537.36
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
(对于GET请求,这里没有请求体)