报文

报文是网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的完整的数据信息,其长短很不一致,长度不限且可变。

报文也是网络传输的单位,传输过程中会不断的封装成分组、包、帧来传输,封装的方式就是添加一些信息段,那些就是报文头以一定格式组织起来的数据。

报文由三部分组成:起始行 首部 主体

起始行:在第一行,在请求报文中说明要做些什么,在响应报文中说出现什么问题

a:请求行:

请求报文请求服务器对资源进行一些操作。请求报文的起始行,或称为请求行,包含了一个方法和一个请求URL,这个方法描述了服务器应该执行的操作,请求URL描述了要对哪个资源执行这个方法。请求行中还包含HTTP 的版本,用来告知服务器,客户端使用的是哪种HTTP。所有这些字段都由空格符分隔。

例如:POST /infoNewsAction_uploadxheditorfile.action?immediate=1 HTTP/1.1

b.响应行

响应报文承载了状态信息和操作产生的所有结果数据,将其返回给客户端。响应报文的起始行,或称为响应行,包含了响应报文使用的HTTP 版本、数字状态码,以及描述操作状态的文本形式的原因短语。 所有这些字段都由空格符进行分隔。

例如:HTTP/1.1 200 O

 

首部:有0或多个首部字段,每个首部字段包含一个名字和值,一般以“:”分隔

1.每个HTTP 首部都有一种简单的语法:名字后面跟着冒号(:),然后跟上可选的空格,再跟上字段值,最后是一个CRLF。(或者换行符)

2. 首部延续行

将长的首部行分为多行可以提高可读性,多出来的每行前面至少要有一个空格或制表符(tab)。

主体:包含了所有类型的数据,请求主体中包括了要发送给Web 服务器的数据;响应主体中装载了要返回给客户端的数据。主体可包含然以二进制文件。

3.通用首部

4.响应首部

5.实体首部

是用于应对实体主体部分的首部

6.内容首部

Content-Encoding

 对主体执行的任意编码方式

Content-Length

主体的长度或尺寸

Content-Type

 这个主体的对象类型

7.扩展首部

非标准的首部,由应用程序开发者创建,但还未添加到已批准的

HTTP 规范中去。即使不知道这些扩展首部的含义,HTTP 程序也要接受它们并

对其进行转发。

基本语法格式:

请求报文的格式:

<method> <request-URL> <version>

<headers>

<entity-body>

 

响应报文的格式(注意,只有起始行的语法有所不同):

<version> <status> <reason-phrase>

<headers>

<entity-body>

 

 

状态码

100~199——信息性状态码

200~299——成功状态码

300~399——重定向状态码     <p65>

400~499——客户端错误状态码

500~599——服务器错误状态码

posted on 2019-05-14 08:54  wt0929  阅读(324)  评论(0)    收藏  举报

导航