共计 1001 个字符,预计需要花费 3 分钟才能阅读完成。
GET:获取资源
例如图片、css 文件、js 文件等,在 RESTful API 中,一般用来获取数据,例如列表,详情等。对应 CRUD 中的 R,即查找操作。
POST:传输实体主体
例如提交表单信息,在 RESTful API 中,一般用来提交数据,例如表单等。对应 CRUD 中的 C,即创建操作。
PUT:传输文件
在 RESTful API 中,一般用做修改数据。对应 CRUD 中的 U,即修改操作。
DELETE:删除文件
与 PUT 相反,在 RESTful API 中,一般用做删除数据。对应 CRUD 中的 D,即删除操作。
HEAD:获取报文首部
与 GET 类似,只是不返回报文主体部分。一般用于确认 URI 的有效性以及资源的更新日期时间等。
OPTIONS:询问支持的方法
这个请求方式估计很多做前端的同学都会碰到,在和后端对接接口时,明明只发了一个请求,浏览器却一直显示发送了两个请求,第一个就是 OPTIONS 的请求方法。
这一般是跨域的原因。跨域的解决方案有很多种,一般采用的是 CORS,正是由于这种方式有“预检”的请求,所以浏览器主动发送了一个 OPTIONS 的询问请求,有两个作用。
- 获取服务器支持的 HTTP 请求方法。会在首部字段中返回,例如
Allow: GET,POST,HEAD,OPTIONS
。 用来检查服务器的性能。这也正是 AJAX 中的
预检
功能。什么时候会发出预检请求呢?当具有下述情况之一时,就会发出预检:- 使用了
PUT、DELETE、CONNECT、OPTIONS、TRACE、PATCH
。 - 人为的设置了除了对 CORS 安全的首部字段之外的其他首部字段。
Accept、Accept-Language、Content-Language、Content-Type
(注意第 3 条)、DPR、Downlink、Save-Data、Viewport-Width、Width
。 - Content-Type 不属于
application/x-www-form-urlencoded、multipart/form-data、text/plain
中的一类。
- 使用了
TRACE:追踪路径
REACE 方法基本不怎么使用。是让 Web 服务器端将之前的请求通信环回给客户端的方法。发送请求时,在 Max-Forwards 首部字段中填入数值,每经过一个服务器端就将该数字减 1,当数值刚好减到 0 时,就停止继续传输,最后接收到请求的服务器端则返回状态码 200 OK 的响应。
CONNECT:要求用隧道协议连接代理
正文完