持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第17天,点击查看活动详情
上一节简单的说了下HTTP协议的版本,这一章我们介绍下HTTP协议的请求
请求-Request
请求是客户端发送给服务端的请求对象,在HTTP协议中请求分为请求行、请求头和请求数据三部分。 见下图所示:
如图所示,请求报文可以分为三部分:
- 请求行:第一行,包括请求方法和接口地址以及HTTP协议的版本号
- 请求头-Headers:从第二行开始,到空行之前,包含各种请求信息和链接的辅助信息。
- 请求数据:长度不限,可以为空,使用固定格式,是一般要在请求头中声明的所使用的内容类型就是Content-Type,中指定的类型。
1、请求方法-Request Method
请求方式指这个请求的动作或者意图,常见的请求方法有GET ,POST,PUT,DELETE等。简单介绍下请求方法。
GET:获取相关请求资源。
POST:向指定位置创源
PUT:对已知资源进行更新
DELETE:请求删除指定资源
HEAD:类似于GET请求,只获取响应头,不获取相应数据
PATCH:用来对已知资源进行局部更新
TRACE:回显服务器收到的请求,用于定位问题
CONNECT:预留给能够将连接改为管道方式的代理服务器。
不同的请求方法本质上是一样的,都可以有URL,请求参数,请求头和请求数据等,然而一般来说。使用GET、HEAD 、DELETE等方式时不发送请求数据,参数通过URL中的请求参数传递。
由于GET请求可以通过浏览器地址直接访问,因此GET请求可以被记录、收藏及缓存,请求参数直接暴露在URL中,同时有URL长度的限制,当GET请求包含大量的请求参数时,就可能会有截断的风险。
在标准的使用模式下,POST每次都会在指定位置产生新的资源,这可能对后边的创建请求产生影响,因此,POST请求是唯一一个非幂等的请求方法。