http请求报文包括哪些组成部分
一个HTTP请求报文由四个部分组成:请求行、请求头部、空行、请求数据。
1、请求行
请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔。
2、请求头部
HTTP客户程序(例如浏览器),向服务器发送请求的时候必须指明请求类型(一般是GET或者POST)。如有必要,客户程序还可以选择发送其他的请求头。大多数请求头并不是必需的,但Content-Length除外。对于POST请求来说Content-Length必须出现。
3、空行
它的作用是通过一个空行,告诉服务器请求头部到此为止。
4、请求数据
若方法字段是GET,则此项为空,没有数据。若方法字段是POST,则通常来说此处放置的就是要提交的数据。
http请求报文的方法
1、GET方法
发送一个请求来取得服务器上的某一资源特征:没有请求体;请求参数附着在URL地址后面;请求参数在浏览器地址栏能够直接被看到,存在安全隐患;在URL地址后面携带请求参数,数据容量非常有限。如果数据量大,那么超出容量的数据会丢失;从报文角度分析,请求参数是在请求行中携带的,因为访问地址在请求行。
2、Post方法
向URL指定的资源提交数据或附加新的数据。
特征:有请求体;请求参数放在请求体中;请求体发送数据的大小没有限制;可以发送各种不同类型的数据;从报文角度分析,请求参数是在请求体中携带;由于请求体参数是放在请求体中,所以浏览器地址栏看不到。
3、Put方法
跟Post方法很像,也是向服务器提交数据,但是,Put指向了资源在服务器上的位置,而Post没有,PUT方法会向服务器写入(更新)数据。比如:编辑用户信息的请求,就可以用PUT。
4、Head方法
HEAD方法与GET方法的行为很类似,但服务器在响应中只返回首部,不会返回实体的主体部分,这就允许客户端在未获取实际资源的情况下,对资源的首部进行验证。
5、Delete方法
删除服务器上的某资源。
6、Options方法
它用于获取当前URL所支持的方法。如果请求成功,会有一个Allow的头包含类似“Get,Post”这样的信息。
7、Trace方法
Trace方法被用于激发一个远程的,应用层的请求消息回路。
8、Connect方法
把请求连接转换到透明的TCP/IP通道。