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中的预检功能。什么时候会发出预检请求呢?当具有下述情况之一时,就会发出预检:

    1. 使用了PUT、DELETE、CONNECT、OPTIONS、TRACE、PATCH
    2. 人为的设置了除了对CORS安全的首部字段之外的其他首部字段。Accept、Accept-Language、Content-Language、Content-Type(注意第3条)、DPR、Downlink、Save-Data、Viewport-Width、Width
    3. Content-Type不属于application/x-www-form-urlencoded、multipart/form-data、text/plain中的一类。

TRACE:追踪路径

REACE方法基本不怎么使用。是让 Web 服务器端将之前的请求通信环回给客户端的方法。发送请求时,在 Max-Forwards 首部字段中填入数值,每经过一个服务器端就将该数字减 1,当数值刚好减到 0 时,就停止继续传输,最后接收到请求的服务器端则返回状态码 200 OK 的响应。

CONNECT:要求用隧道协议连接代理


WillemWei
491 声望37 粉丝