HTTP 报文详解 - 响应报文

有前面一篇的客户端的请求报文解说,当然就有服务端的响应报文之说

不多说,先上个图

 

HTTP响应报文同样也分为三部分,有状态行、首部行、实体

状态行:HTTP响应报文的第一行
状态行包括三个字段:协议版本、状态码与原因短语。

 

状态码:

1xx:这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。

2xx:这一类型的状态码,代表请求已成功被服务器接收、理解、并接受。

3xx:这类状态码代表需要客户端采取进一步的操作才能完成请求。通常,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的Location域中指明。

4xx:这类的状态码代表客户端类的错误。

5xx:服务器类的错误。

 

常见的状态码对照表:

 

其他的状态码,有兴趣的话,可以自己去查看

具体对应的网址:http://tools.jb51.net/table/http_status_code

 

响应首部(首部行):位于响应报文状态行之后

Date标头:消息产生的时间

Age标头:(从最初创建开始)响应持续时间

Server标头: 向客户端标明服务器程序名称和版本

ETage标头:不透明验证者

Location标头:URL备用的位置

Content-Length标头:实体的长度

Content-Tyep标头:实体的媒体类型

 

协商首部:

Accept-Ranges: 对当前资源来讲,服务器所能够接受的范围类型

Vary: 首部列表,服务器会根据列表中的内容挑选出最适合的版本发送给客户端

 

与安全相关的响应首部:

Set-Cookie: 服务器端在某客户端第一次请求时发给令牌

WWW-Authentication: 质询,即要求客户提供帐号和密码

 

响应首部一般包含如下图

 

实体:位于首部行之后

实体包含了Web客户端请求的对象。Content-Length标头及Content-Type标头用于计算实体的位置、数据类型和数据长度。当Web服务器接收到Web客户端的请求报文后,对HTTP请求报文进行解析,并将Web客户端的请求的对象取出打包,通过HTTP响应报文将数据传回给Web客户端,如果出现错误则返回包含对应错误的错误代码和错误原因的HTTP响应报文。

 

posted @ 2021-06-17 08:51  方达达  阅读(1156)  评论(0编辑  收藏  举报