HTTP报文及其结构

HTTP报文及其结构

  • 1. HTTP报文
  • 2. HTTP报文结构
    • 2.1 报文首部
    • 2.2 请求报文格式
    • 2.3 应答报文格式

1. HTTP报文

HTTP通信过程包括客户端往服务器端发送请求以及服务器端给客户端返回响应两个过程。在这两个过程中就会产生请求报文和响应报文。

HTTP报文是用于HTTP协议交互的信息,HTTP报文本身是由多行数据构成的字符串文本。客户端的HTTP报文叫做请求报文,服务器端的HTTP报文叫做响应报文。

2. HTTP报文结构

HTTP报文由报文首部和报文主体构成,中间由一个空行分隔。

2.1 报文首部

报文首部是客户端或服务器端需处理的请求或响应的内容及属性, 可以传递额外的重要信息。
报文首部包括请求行和请求头部,报文主体主要包含应被发送的数据。通常,不一定有报文主体。

HTTP报文首部的结构:由首部字段名和字段值构成的,中间用冒号“:”分割
首部字段格式: 首部字段名:字段值。

例如,在HTTP首部中以Content-Type这个字段来表示报文主体的对象类型:Content-Type:text/html。
上述的Content-Type是首部字段名,text/html是字段值,字段值可以是多个值,例如:Keep-Alive:timeout=15,max=10。

HTTP首部字段通常有4种类型:通用首部,请求首部,响应首部,实体首部。

  • 通用首部字段:请求报文和响应报文两方都会使用的首部。
  • 请求首部字段:从客户端向服务器端发送请求报文时使用的首部。补充了请求的附加内容、客户端信息、响应内容相关优先级等信息。
  • 响应首部字段:从服务器端向客户端返回响应报文时使用的首部。补充了响应的附加内容,也会要求客户端附加额外的内容信息。
  • 实体首部字段:针对请求报文和响应报文的实体部分使用的首部。补充了资源内容更新时间等和实体有关的信息。

HTTP报文由从客户机到服务器的请求和从服务器到客户机的响应构成。

2.2 请求报文格式

请求报文格式如下:
请求行 - 通用信息头 - 请求头 - 实体头 - 报文主体

请求行以方法字段开始,后面分别是 URL 字段和 HTTP 协议版本字段,并以 CRLF 结尾。SP 是分隔符。除了在最后的 CRLF 序列中 CF 和 LF 是必需的之外,其他都可以不要。有关通用信息头,请求头和实体头方面的具体内容可以参照相关文件。

2.3 应答报文格式

应答报文格式如下:
状态行 - 通用信息头 - 响应头 - 实体头 - 报文主体

状态码元由3位数字组成,表示请求是否被理解或被满足。原因分析是对原文的状态码作简短的描述,状态码用来支持自动操作,而原因分析用来供用户使用。客户机无需用来检查或显示语法。有关通用信息头,响应头和实体头方面的具体内容可以参照相关文件。

你可能感兴趣的:(计算机网络)