计算机网络之HTTP协议( 三 )


文章插图
 
http请求格式包括请求行,请求报头和请求正文,报头与正文之间使用空行做标记进行分隔 。例如,下面的一大段http请求报文 。

计算机网络之HTTP协议

文章插图
 
请求行由三部分构成,分别是方法,URL,HTTP版本号 。方法用来描述请求的目的是什么,比如get方法一般用来获取服务器的资源 。URL表示想要访问的网络资源的位置 。常见HTTP版本号有HTTP/1.0,HTTP/1.1,HTTP/2.0这些都是基于TCP,最新版本的HTTP/3.0是基于UDP 。
请求头部,包含很多行,有许多的键值对组成,键和值之间使用:来进行分割,至于键值对的数量,是不固定的 。
请求正文是可选项,不一定会有,像上面的那个例子请求正文就是空的 。
计算机网络之HTTP协议

文章插图
 
2.1.2方法请求行里面的方法完整地说应该叫做告知服务器意图的 HTTP 方法,这里的方法与java里面的方法不同,引入这些方法的初衷就是为了表示不同的语义,比如GET表示获取资源,POST表示上传资源,但是大多数人写代码就是GET/POST一把梭,基本上就没有考虑各种方法的语义 。
在http/1.1版本中,最常使用的方法有GET,POST,还有其他方法,引谢灵运的话来说,GET占八斗,POST占一斗,其他方法分剩下的一斗 。
各方法功能如下:
计算机网络之HTTP协议

文章插图
 
GET :获取资源 GET 方法用来请求访问已被 URL 识别的资源 。指定的资源经服务器端解析后返回响应内容 。也就是说,如果请求的资源是文本,那就保持原样返回;如果是像 CGI(CommonGateway Interface,通用网关接口)那样的程序,则返回经过执行后的输出结果 。
计算机网络之HTTP协议

文章插图
 
POST:传输实体主体 虽然用 GET 方法也可以传输实体的主体,但一般不用 GET 方法进行传输,而是用 POST方法 。虽说 POST 的功能与 GET 很相似,但 POST 的主要目的并不是获取响应的主体内容 。
计算机网络之HTTP协议

文章插图
 
PUT:传输文件 PUT 方法用来传输文件 。就像 FTP 协议的文件上传一样,要求在请求报文的主体中包含文 件内容,然后保存到请求 URI 指定的位置 。该方法在HTTP/1.1无验证机制,不安全,配合验证机制可以开放使用该方法 。
计算机网络之HTTP协议

文章插图
 
HEAD:获得报文首部 与GET的区别就是HEAD只返回报文的首部 。
计算机网络之HTTP协议

文章插图
 
DELETE:删除文件 DELETE 方法按请求 URI 删除指定的资源,不安全,需配合验证机制使用 。
计算机网络之HTTP协议

文章插图
 
OPTIONS:询问支持的方法 询问服务器支持哪些方法 。
计算机网络之HTTP协议

文章插图
 
TRACE:追踪路径 TRACE 方法是让 Web 服务器端将之前的请求通信环回给客户端的方法,不常用 。


推荐阅读