HTTP协议---HTTP 报文

这篇主要讲以下几点:

1.报文是如何流动的

2.http报文的三个组成部分(起始行、首部和实体部分)

3.请求和响应报文之间的区别

4.和响应报文一起返回的各种状态码

5.各种各样的HTTP首部都是用来干什么的

报文流

http报文是在http应用程序之间发送的数据块。这些数据以一些文本形式的元信息开头,这些信息描述了报文的内容及含义,后面跟着可选的数据部分。这些报文在客户端、服务端和代理之间的流动,术语“流入”、“流出”、“上游”及“下游”都是用来描述报文方向的

报文流入源端服务器

HTTP使用术语流入、流出来描述事务的方向,报文流入源端服务器,工作完成之后,会流回用户的agent代理中。如图3-1

  

报文向下流出

HTTP报文会想河水一样流出,不管是请求报文还是响应报文,所有的报文都会向下游流动,图3-2

  

报文组成部分

 HTTP报文是简单的格式化数据块。它由三部分组成:对报文进行描述的起始行(start line)、包含属性的首部(header)块、以及可选的、包含数据的主体(body)部分

请求和响应报文之间的区别

 所有的HTTP报文都可以分为两类:请求报文和响应报文。请求报文会向web服务器请求一个动作,响应报文会将请求的结果返回给客户端。请求报文和响应的报文的结构相同。如图3-4

    

请求报文的格式:<method><request-URL><version>                       

           <headers>                                                

           <entity-body>                                              

响应报文的格式:<version><status><reason-phrase>

           <headers>

           <entity-body>

部分简要描述:

<method>方法:客户端希望服务器对资源执行的动作,如GETPOSTHEADPUT

<request-URL>请求URL

<version>版本:报文所使用的HTTP版本,如HTTP1.0 :HTTP/<major>.<minor>

<status>状态码

<reason-phrase>原因短语:数字状态的可读版本,包含终止序列之前的所有文本。

<headers>首部

<entity-body>实体的主体部分

起始行

所有的HTTP报文都以一个起始行作为开始。请求报文的起始行说明了要做什么。响应报文的起始行说明发生什么

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

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

方法

常用的http方法

 

状态码

状态码分类

常见的状态码

首部分类

状态码

 

加油ing
原文地址:https://www.cnblogs.com/ivqi/p/10714836.html