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 的响应。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。