HTTP使用术语流入和流出来描述事务处理的方向。html
HTTP报文会像河水同样流动。无论是请求报文仍是响应报文,全部报文都会向下游流动。全部报文的发送者都在接受者的上游。安全
由三个部分组成:对报文进行描述的起始行、包含属性的首部块、以及可选的、包含数据的主体部分。服务器
全部的HTTP报文均可以分为两类:请求报文和响应报文。3d
请求报文的起始行说明了要作些什么,响应报文的起始行说明发生了什么。htm
请求报文的起始行,或称为请求行,包含了一个方法和一个请求URL,这个方法描述了服务器应该执行的操做,请求URL描述了要对哪一个资源执行这个方法。blog
响应报文的起始行,或称为响应行,包含了响应报文使用的HTTP版本,数字状态码,以及描述操做状态的文本形式的缘由短语。事务
请求的起始行以方法做为开始,方法用来告知服务器要作些什么。资源
经常使用方法:文档
方法是用来告诉服务器作什么事情的,状态码则用来告诉客户端,发生了什么事情。get
状态码分类:
缘由短语是响应起始行中最后一个组件,它为状态码提供了文本形式的解释。
首部分类:
既能够出如今请求报文中,也能够出如今响应报文中。
提供更多有关请求的信息
提供更多有关响应的信息
描述主体的长度和内容,或者资源自身
规范中没有定义的新部首
常见部首实例:
HTTP定义了一组被称为安全方法的方法。GET方法和HEAD方法都被认为是安全的,这意味着使用GET和HEAD方法的HTTP请求都不会产生什么动做。
GET是最经常使用的方法。一般用于请求服务器发送某个资源。
HEAD方法和GET方法的行为很类型,但服务器在响应中只返回首部。不会返回实体的主要部分。
与GET从服务器读取文档相反,PUT方法会向服务器写入文档。
PUT方法的语义就是让服务器用请求的主体部分来建立一个有所请求的URL命名的新文档,已存在的话,就用这个主体来替代它。
POST方法起初是用来向服务器输入数据的。一般用它来支持HTML的表单。
POST用于向服务器发送数据,PUT用于向服务器上的资源(例如文件)中存储数据。
TRACE方法容许客户端在最终将请求发送给服务器时,看看他变成什么样子。
TRACE方法主要用于诊断,用于验证请求是否如愿穿过了请求/响应链。
OPTIONS方法请求Web服务器告知其支持的各类功能。
DELETE方法所作的事情就是请服务器删除请求URl 所指定的资源。
但客户端应用程序没法保证删除操做必定会被执行。由于HTTP规范容许服务器在不通知客户端的状况下撤销请求。