HTTP请求方法对照表
温馨提示:
本文最后更新于 2026年01月26日,已超过 54 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。
介绍
根据HTTP标准,HTTP请求可以使用多种请求方法。
● HTTP/1.0定义了三种请求方法:GET、POST 和 HEAD 方法。
● HTTP/1.1新增了五种请求方法:OPTIONS、PUT、DELETE、TRACE 和 CONNECT 方法。
● HTTP/2沿用了HTTP/1.1的方法,对协议进行了优化,提高了传输效率和速度。HTTP/2也引入了新的特性,如多路复用、头部压缩和服务器推送等。
● HTTP/3基于QUIC协议实现,继续使用HTTP/2的方法。HTTP/3主要改进了传输层,使用UDP代替TCP以提高传输速度和可靠性。
标准HTTP请求方法
| 序号 | 方法 | 描述 |
|---|---|---|
| 1 | GET | 从服务器获取资源。用于请求数据而不对数据进行更改。例如:从服务器获取网页、图片等。 |
| 2 | HEAD | 类似GET,但服务器只返回相应的头部,不返回实际数据。用于检查资源的元数据(例如:检查资源是否存在,查看响应的头部信息)。 |
| 3 | POST | 向服务器发送数据以创建新资源。常用于提交表单数据或上传文件。发送的数据包含在请求体中。POST请求可能会导致新的资源的建立或者已有资源的修改。 |
| 4 | PUT | 向服务器发送数据以更新现有的资源。如果资源不存在,则创建新的资源。与POST不同,PUT通常是幂等的,即多次执行相同的PUT请求不会产生不同的结果。 |
| 5 | DELETE | 从服务器删除指定的资源。请求中包含要删除的资源标识符。 |
| 6 | CONNECT | 建立一个到服务器的隧道,通常用于HTTPS连接。客户端可以通过该隧道发送加密的数据。 |
| 7 | OPTIONS | 返回服务器支持的HTTP方法。用于检查服务器支持哪些请求方法,通常用于跨域资源共享(CORS)的预检请求。 |
| 8 | TRACE | 回显服务器收到的请求,主要用于诊断。客户端可以查看请求在服务器中的处理路径。 |
| 9 | PATCH | 对资源进行部分修改。与PUT类似,但PATCH只更改部分数据而不是替换整个资源。 |
HTTP方法特性对比
| 方法 | 安全 | 幂等 | 可缓存 | 请求体 | 响应体 |
|---|---|---|---|---|---|
| GET | ✅ | ✅ | ✅ | ❌ | ✅ |
| HEAD | ✅ | ✅ | ✅ | ❌ | ❌ |
| POST | ❌ | ❌ | △ | ✅ | ✅ |
| PUT | ❌ | ✅ | ❌ | ✅ | △ |
| DELETE | ❌ | ✅ | ❌ | △ | △ |
| PATCH | ❌ | △ | ❌ | ✅ | △ |
| OPTIONS | ✅ | ✅ | ❌ | ❌ | ✅ |
说明:
● 安全:不应修改服务器状态
● 幂等:多次执行结果相同
● △:视情况而定
WebDAV扩展的HTTP方法
| 序号 | 方法 | 描述 |
|---|---|---|
| 1 | PROPFIND | 获取资源的属性。 |
| 2 | PROPPATCH | 修改资源的属性。 |
| 3 | MKCOL | 创建一个新的集合(通常是文件夹)。 |
| 4 | MOVE | 请求服务器将指定的页面移至另一个网络地址。 |
| 5 | COPY | 请求服务器将指定的页面拷贝至另一个网络地址。 |
| 6 | LOCK | 锁定资源以防止其他用户修改。 |
| 7 | UNLOCK | 解锁资源,使其可以被其他用户修改。 |
| 8 | Extension-mothod | 在不改动协议的前提下,可增加另外的方法。 |
实验性/特殊用途方法
| 序号 | 方法 | 描述 |
|---|---|---|
| 1 | LINK | 请求服务器建立链接关系。已在HTTP/1.1中弃用。 |
| 2 | UNLINK | 断开链接关系。已在HTTP/1.1中弃用。 |
| 3 | PURGE | 专有方法,缓存清除,常见于CDN和缓存服务器,清除指定URL的缓存。 |
| 4 | SEARCH | 查询专用,用于执行查询操作,常用于日历、联系人等协议。 |
RESTful API设计中的方法使用
| 资源操作 | 方法 | 路径示例 | 状态码 |
|---|---|---|---|
| 获取资源 | GET | /users | 200 |
| 创建资源 | POST | /users | 201 |
| 获取单个 | GET | /users/{id} | 200,404 |
| 全量更新 | PUT | /users/{id} | 200,204 |
| 部分更新 | PATCH | /users/{id} | 200,204 |
| 删除资源 | DELETE | /users/{id} | 200,204,202 |
| 过滤查询 | GET | /users?role=admin | 200 |
正文到此结束
- 本文标签: http web
- 本文链接: https://www.iquanzi.top/article/5
- 版权声明: 本文由张华永原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权