报文流

流入:报文流入源服务器
流出:工作完成后,流向用户 Agent 代理中
无论是请求报文还是响应报文,都会向 下游 流动。
报文的发送者永远在接收者的 上游。

报文的组成

请求报文

  • 起始行 <method> <request-URL> <version>
  • 首部 <headers>
  • 主体 <entity-body>

响应报文

  • 起始行 <version> <status> <reason-phrase>
  • 首部 <headers>
  • 主体 <eneity-body>

起始行

请求行

请求报文的起始行称为请求行,请求报文请求服务器对资源进行一些操作

相应行

响应报文的起始行称为相应行,响应报文承载状态信息和操作产生的数据,返回给客户端

method(方法)

客户端希望服务器对资源执行的动作

方法 描述 是否包含主体
GET 从服务器获取文档
HEAD 从服务器获取文档首部
POST 向服务器发送需要处理的数据
PUT 将请求主体保存在服务器
TRACE 对可能经过代理传送到服务器的报文进行追踪
OPTIONS 决定可以在服务器上执行的方法
DETELE 在服务器上删除文档

request-URL(请求 URL)

请求资源的URL

version(版本)

报文使用的HTTP版本,格式HTTP/<主版本号>.<次要版本号>

ststus(状态码)

三位数字,告诉客户端请求过程中的发生的情况

  • 100~199:信息状态码
  • 200~299:成功状态码
  • 300~399:重定向状态码
    告知客户端使用替代位置访问资源,或者提供替代响应而不是资源
  • 400~499:客户端错误状态码
  • 500~599:服务器错误状态码
状态码 原因短语 含义
100 Continue 客户端询问是否可以在后续请求中发送附件
200 OK 一切正常
201 Created 表示服务器在请求中建立了新文档
202 Accept 告诉客户端请求正在被执行
301 Moved Permanently 请求的文档在别处,响应行中会给出行URL
401 Unauthorized 需要输入用户名密码
404 Not Found 无法找到资源
502 Bad Gateway 接收服务器接收到远程服务器的错误响应
503 Service Unavailable 服务器无响应
504 Gateway Timeout 接收服务器没有从远程服务器得到及时响应

reason-phrase(原因短语)

数字状态的可读版本

headers(首部)

零个或多个,格式<名字>:<值>,由一个空行结束

分类

通用首部

既可以出现在请求报文中,也可以出现在响应报文中
例如:Date: Tue, 3 Oct 1974 02:16:00 GMT,说明构建报文时间

请求首部

提供更多有关请求的信息
例如:Accept: */*,客户端告知服务器愿意接受任意媒体类型

响应首部

提供更多有关响应的信息
例如:Server: Tiki-Hut/1.0,告知客户端与之交流的服务器的Tiki-Hut

实体首部

描述主体的长度和内容,或者资源自身
例如:Content-Type: text/html; charset=iso-latin-1,告知应用程序数据类型

扩展首部

规范中没有定义的新首部

entity-body(实体的主体部分)

包含一个由任意数据组成的数据块,并不是所有报文都拥有主体

想了解更多关于HTTP 报文介绍的内容,请扫微信
或微信搜索jiemingpan


版权说明:本文版权由作者自行负责,如有侵权请联系本站删除。