1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > HTTP报文结构详细讲解(HTTP请求报文和响应报文格式)

HTTP报文结构详细讲解(HTTP请求报文和响应报文格式)

时间:2019-09-29 21:12:14

相关推荐

HTTP报文结构详细讲解(HTTP请求报文和响应报文格式)

HTTP报文结构

HTTP有两类报文:

请求报文-------从客户向服务器发送请求报文,如图6-12(a)响应报文-------从服务器到客户的回答,如图6-12(b)

由于HTTP是面向文本的,因此在报文中的每一个字段都是一些ASCII码串,因而各个字段的长度是不确定的。

请求报文和响应报文都是由三个部分组成。两种报文格式区别是开始行不同。

开始行,用于区分是请求报文还是响应报文。在请求报文中的开始行叫做请求行,响应报文中的开始行叫做状态行。在开始行的三个字段之间都以空格分隔开,最后的“CR”和“LF”分别代表“回车”和“换行”。首部行,用来说明浏览器、服务器或报文主体的一些信息。首部可以有好几行,但也可以不使用。在每一个首部行中都有首部字段名和它的值,每一行结束的地方都要有“回车”和“换行”。整个首部行结束时,还有一空行将首部行和后面的实体主体分开。实体主体,在请求报文中一般都不用这个字段,而在响应报文中也可能没有这个字段。

HTTP请求报文详解:

请求报文的第一行“请求行”只有三个内容,即方法请求资源的URL,以及HTTP的版本

所谓“方法”就是对所请求的对象进行的操作这些方法实际上也是一些命令

如下图是HTTP请求报文的一些方法:

请求报文的例子(这个请求报文没有实体主体):

GET /chn/yxsz/index.htm HTTP/1.1 {请求行使用了相对URL}

Host :www.{此行是首部行的开始。这行给出了主机的域名}

Connection : close {告诉服务器发送完请求的文档后就可释放连接,即不使用持续连接}

User-Agent : Mozilla/5.0 {表明用户代理是使用Netscape浏览器}

Accept-Language : cn {表明用户希望优先得到中文版本的文档}

{请求报文的最后还有一个空行}

HTTP响应报文详解:

每一个请求报文发出后,都能收到一个响应报文。响应报文的第一行就是状态行

状态行包括三项:HTTP版本状态码,以及解释状态码的简单短语

状态码都是三位数字的,分为5大类共33种。

1xx表示通知信息的,如请求收到了或正在进行处理。

2xx表示成功,如接受或知道了。

3xx表示重定向,如要完成请求还必须采取进一步的行动。

4xx表示客户的差错,如请求中有错误的语法或不能完成。

5xx表示服务器的差错,如服务器失效无法完成请求。

下面三种状态行在响应报文中常见:

HTTP/1.1 202 Accepted {接受}

HTTP/1.1 400 Bad Request {错误的请求}

HTTP/1.1 404 Not Found {找不到}

若请求的网页从http://www.ee.ayz.edu/index.htm转移到了一个新的地址,则响应报文的状态行和一个首部行就是下面的形式:

HTTP/1.1 301 Moved Permanently {永久性地转移了}

Location :http://www.ayz.edu/ee/index.htm{新的URL}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。