速读,五分钟深入了解HTTP( 二 )


第一部分:请求行,用来说明请求类型,要访问的资源以及所使用的HTTP版本
GET说明请求类型为GET,[/562f25980001b1b106000338.jpg]为要访问的资源,该行的最后一部分说明使用的是HTTP1.1版本 。
第二部分:请求头部,紧接着请求行(即第一行)之后的部分,用来说明服务器要使用的附加信息
从第二行起为请求头部,HOST将指出请求的目的地.User-Agent,服务器端和客户端脚本都能访问它,它是浏览器类型检测逻辑的重要基础.该信息由你的浏览器来定义,并且在每个请求中自动发送等等
第三部分:空行,请求头部后面的空行是必须的
即使第四部分的请求数据为空,也必须有空行
第四部分:请求数据也叫主体,可以添加任意的其他数据
2. 响应报文

速读,五分钟深入了解HTTP

文章插图
 
HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文 。
第一部分:状态行,由HTTP协议版本号,状态码,状态消息 三部分组成 。
第一行为状态行,(HTTP/1.1)表明HTTP版本为1.1版本,状态码为200,状态消息为(ok)
第二部分:消息报头,用来说明客户端要使用的一些附加信息
第二行和第三行为消息报头,Date:生成响应的日期和时间;Content-Type:指定了MIME类型的HTML(text/html),编码类型是UTF-8
第三部分:空行,消息报头后面的空行是必须的
第四部分:响应正文,服务器返回给客户端的文本信息 。
空行后面的html部分为响应正文 。
四、HTTP 方法根据HTTP标准,HTTP请求可以使用多种请求方法 。HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法 。HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法 。后来又引入了PATCH方法,是对PUT方法的补充 。
GET请求指定的页面信息,并返回实体主体 。
HEAD类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头 。主要用于确认 URL 的有效性以及资源更新的日期时间等 。
POSTPOST 主要用来传输数据,而 GET 主要用来获取资源 。POST请求可能会导致新的资源的建立和/或已有资源的修改 。
PUT从客户端向服务器传送的数据取代指定的文档的内容 。由于自身不带验证机制,任何人都可以上传文件,因此存在安全性问题,一般不使用该方法 。
DELETE请求服务器删除指定的页面 。与 PUT 功能相反,并且同样不带验证机制 。
CONNECT要求在与代理服务器通信时建立隧道
使用 SSL(Secure Sockets Layer,安全套接层)和 TLS(Transport Layer Security,传输层安全)协议把通信内容加密后经网络隧道传输 。
CONNECT www.example.com:443 HTTP/1.1

速读,五分钟深入了解HTTP

文章插图
 
OPTIONS查询支持的方法
查询指定的 URL 能够支持的方法 。
会返回 Allow: GET, POST, HEAD, OPTIONS 这样的内容 。
TRACE追踪路径
服务器会将通信路径返回给客户端 。
发送请求时,在 Max-Forwards 首部字段中填入数值,每经过一个服务器就会减 1,当数值为 0 时就停止传输 。
通常不会使用 TRACE,并且它容易受到 XST 攻击(Cross-Site Tracing,跨站追踪) 。主要用于测试或诊断 。
PATCH对资源进行部分修改
PUT 也可以用于修改资源,但是只能完全替代原始资源,PATCH 允许部分修改 。
五、HTTP 状态码服务器返回的 响应报文 中第一行为状态行,包含了状态码以及原因短语,用来告知客户端请求的结果 。
状态码类别原因短语1XXInformational(信息性状态码)接收的请求正在处理2XXSuccess(成功状态码)请求正常处理完毕3XXRedirection(重定向状态码)需要进行附加操作以完成请求4XXClient Error(客户端错误状态码)服务器无法处理请求5XXServer Error(服务器错误状态码)服务器处理请求出错
1XX 信息
100 Continue :表明到目前为止都很正常,客户端可以继续发送请求或者忽略这个响应 。
2XX 成功
200 OK
204 No Content :请求已经成功处理,但是返回的响应报文不包含实体的主体部分 。一般在只需要从客户端往服务器发送信息,而不需要返回数据时使用 。
206 Partial Content :表示客户端进行了范围请求,响应报文包含由 Content-Range 指定范围的实体内容 。
3XX 重定向
301 Moved Permanently :永久性重定向
302 Found :临时性重定向


推荐阅读