12.6. HTTP 请求与响应报文格式
请求报文包含三部分:
- 请求行:包含请求方法、URI、HTTP 版本信息
- 请求首部字段
- 请求内容实体
响应报文包含三部分:
- 状态行:包含 HTTP 版本、状态码、状态码的原因短语
- 响应首部字段
- 响应内容实体
HTTP请求报文格式:
<Method> <Request-URI> <HTTP-Version>
<headers>
<entity-body>
其中:
- Method:请求方法,如 GET、POST、PUT等。
- Request-URI:请求的资源标识符,可以是绝对 URL、相对 URL 或者一个通配符*。
- HTTP-Version:HTTP 协议的版本号,如 HTTP/1.1。
- headers:请求头,包含多个键值对,每一对键值之间用冒号(:)分隔。
- entity-body:请求体,可以为空,通常用于 POST 请求时传递实体内容。
示例:
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1
HTTP响应报文格式:
<HTTP-Version> <Status-Code> <Reason-Phrase>
<headers>
<entity-body>
其中:
- HTTP-Version:HTTP 协议的版本号,如 HTTP/1.1。
- Status-Code:HTTP 响应状态码,例如 200、404 等。
- Reason-Phrase:响应状态码的描述信息,例如 OK、Not Found 等。
- headers:响应头,包含多个键值对,每一对键值之间用冒号(:)分隔。
- entity-body:响应体,可以为空,通常用于传递实体内容。
示例:
HTTP/1.1 200 OK
Date: Wed, 21 Oct 2015 07:28:00 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 35739
Last-Modified: Mon, 19 Oct 2015 12:48:36 GMT
Connection: keep-alive
ETag: "5625f0d0-8b23"
Access-Control-Allow-Origin: *
Cache-Control: max-age=86400
Expires: Thu, 22 Oct 2015 07:28:00 GMT
<!doctype html>
<html>
<head>
<title>Example Domain</title>
... ...
</body>
</html>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论