文章插图
http请求格式包括请求行,请求报头和请求正文,报头与正文之间使用空行做标记进行分隔 。例如,下面的一大段http请求报文 。
文章插图
请求行由三部分构成,分别是方法,URL,HTTP版本号 。方法用来描述请求的目的是什么,比如get方法一般用来获取服务器的资源 。URL表示想要访问的网络资源的位置 。常见HTTP版本号有HTTP/1.0,HTTP/1.1,HTTP/2.0这些都是基于TCP,最新版本的HTTP/3.0是基于UDP 。
请求头部,包含很多行,有许多的键值对组成,键和值之间使用:来进行分割,至于键值对的数量,是不固定的 。
请求正文是可选项,不一定会有,像上面的那个例子请求正文就是空的 。
文章插图
2.1.2方法请求行里面的方法完整地说应该叫做告知服务器意图的 HTTP 方法,这里的方法与java里面的方法不同,引入这些方法的初衷就是为了表示不同的语义,比如GET表示获取资源,POST表示上传资源,但是大多数人写代码就是GET/POST一把梭,基本上就没有考虑各种方法的语义 。
在http/1.1版本中,最常使用的方法有GET,POST,还有其他方法,引谢灵运的话来说,GET占八斗,POST占一斗,其他方法分剩下的一斗 。
各方法功能如下:
文章插图
GET :获取资源 GET 方法用来请求访问已被 URL 识别的资源 。指定的资源经服务器端解析后返回响应内容 。也就是说,如果请求的资源是文本,那就保持原样返回;如果是像 CGI(CommonGateway Interface,通用网关接口)那样的程序,则返回经过执行后的输出结果 。
文章插图
POST:传输实体主体 虽然用 GET 方法也可以传输实体的主体,但一般不用 GET 方法进行传输,而是用 POST方法 。虽说 POST 的功能与 GET 很相似,但 POST 的主要目的并不是获取响应的主体内容 。
文章插图
PUT:传输文件 PUT 方法用来传输文件 。就像 FTP 协议的文件上传一样,要求在请求报文的主体中包含文 件内容,然后保存到请求 URI 指定的位置 。该方法在HTTP/1.1无验证机制,不安全,配合验证机制可以开放使用该方法 。
文章插图
HEAD:获得报文首部 与GET的区别就是HEAD只返回报文的首部 。
文章插图
DELETE:删除文件 DELETE 方法按请求 URI 删除指定的资源,不安全,需配合验证机制使用 。
文章插图
OPTIONS:询问支持的方法 询问服务器支持哪些方法 。
文章插图
TRACE:追踪路径 TRACE 方法是让 Web 服务器端将之前的请求通信环回给客户端的方法,不常用 。
推荐阅读
- 民间故事之龙女拜观音 龙女拜观音
- 生命|我国最大的淡水湖 鄱阳湖蒸发了3/4 出现“生命之树”奇观
- 不能承受的生命之轻读后感1500字 不能承受的生命之轻读后感
- 何谓八拜之交? 八拜之交是指哪八拜
- 良渚文化|徐梦梅——良渚"玉石文"是殷墟甲骨文之祖
- “开源”“截流”解“儿科医生荒”之困
- 甘罗是怎么死的? 甘罗之死
- |职场中,如何保持自己的立足之地?
- 聊聊 HTTP/2 的多路复用
- 计算机网络常见9个命令