RESTful-API常用的HTTP请求方法

4次阅读

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

    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:要求用隧道协议连接代理

正文完
 0