Http报文组成部分

它们由三个部分组成:

  • 对报文进行描述的起始行(start line)、
  • 包含属性的首部(header)块,
  • 以及可选的、包含数据的主体(body)部分。

这是请求报文的格式:           //是为服务器端提供一些额外的信息

<method> <request-URL> <version>

<headers>

<entity-body> 

这是响应报文的格式(注意,只有起始行的语法有所不同):            //为客户端提供一些额外的信息

<version> <status> <reason-phrase>

<headers>

<entity-body>

下面是对各部分的简要描述。

  • 方法(method)

客户端希望服务器对资源执行的动作。是一个单独的词,比如GET、HEAD或POST。本章稍后将详细介绍方法。

  • 请求URL(request-URL)

命名了所请求资源,或者URL路径组件的完整URL。如果直接与服务器进行对话,只要URL的路径组件是资源的绝对路径,通常就不会有什么问题——服务器可以假定自己是URL的主机/端口。第2章详细地介绍了URL的语法。

  • 版本(version)
  • 状态码(status-code)

这三位数字描述了请求过程中所发生的情况。每个状态码的第一位数字都用于描述状态的一般类别(“成功”、“出错”等)。本章稍后提供了HTTP规范定义的状态码及其含义的完整列表。

  • 原因短语

数字状态码的可读版本,包含行终止序列之前的所有文本。本章稍后提供了HTTP规范定义的所有状态码的原因短语示例。原因短语只对人类有意义,因此,比如说,尽管响应行HTTP/1.0 200 NOT OK和 HTTP/1.0 200 OK中原因短语的含义不同,但同样都会被当作成功指示处理。

  • 首部

可以有零个或多个首部,每个首部都包含一个名字,后面跟着一个冒号(:),然后是一个可选的空格,接着是一个值,最后是一个CRLF。首部是由一个空行(CRLF)结束的,表示了首部列表的结束和实体主体部分的开始。有些HTTP版本,比如HTTP/1.1,要求有效的请求或响应报文中必须包含特定的首部。本章稍后会探讨各种HTTP首部。

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

实体的主体部分包含一个由任意数据组成的数据块。并不是所有的报文都包含实体的主体部分,有时,报文只是以一个CRLF结束

          //告诉服务器能够发送哪些媒体类型

                //告诉服务器你能发送哪些编码方式

猜你喜欢

转载自blog.csdn.net/SmCai/article/details/88536507
今日推荐