HTTP 请求方法列表

9种方法 RESTful参考 速查表

HTTP/1.1 定义的9种请求方法完整速查表,涵盖每种方法的语义、安全性、幂等性、是否允许请求体及典型使用场景。

GET 安全 幂等
RFC 7231

请求指定资源的表示。仅用于获取数据,不应产生副作用。

典型用途

查询列表、获取详情、搜索

请求示例

GET /api/users/123 HTTP/1.1
POST 有请求体
RFC 7231

向指定资源提交数据,通常用于创建新资源或触发处理。非幂等。

典型用途

创建资源、提交表单、上传文件

请求示例

POST /api/users HTTP/1.1\nContent-Type: application/json\n\n{"name":"张三"}
PUT 幂等 有请求体
RFC 7231

替换指定资源的全部内容。幂等——多次执行结果相同。

典型用途

全量更新资源

请求示例

PUT /api/users/123 HTTP/1.1\nContent-Type: application/json\n\n{"name":"李四"}
DELETE 幂等
RFC 7231

删除指定资源。幂等——删除一次和删除多次结果相同。

典型用途

删除资源

请求示例

DELETE /api/users/123 HTTP/1.1
PATCH 有请求体
RFC 5789

对资源进行部分修改。非幂等(取决于实现)。

典型用途

局部更新字段

请求示例

PATCH /api/users/123 HTTP/1.1\nContent-Type: application/json\n\n{"email":"new@test.com"}
HEAD 安全 幂等
RFC 7231

与GET类似但不返回响应体,仅获取响应头。用于检查资源是否存在或是否被修改。

典型用途

检查链接有效性、获取元信息

请求示例

HEAD /api/users/123 HTTP/1.1
OPTIONS 安全 幂等
RFC 7231

返回服务器支持的HTTP方法列表。常用于CORS预检请求。

典型用途

CORS预检、探测服务器能力

请求示例

OPTIONS /api/users HTTP/1.1
CONNECT
RFC 7231

建立到目标资源标识的服务器的隧道。主要用于HTTPS代理。

典型用途

SSL隧道、代理连接

请求示例

CONNECT www.example.com:443 HTTP/1.1
TRACE 安全 幂等
RFC 7231

回显收到的请求,用于诊断。存在安全风险,多数服务器禁用。

典型用途

调试、诊断请求路径

请求示例

TRACE /api/test HTTP/1.1

对比总表

方法 安全 幂等 请求体 主要用途
GET 查询列表
POST 创建资源
PUT 全量更新资源
DELETE 删除资源
PATCH 局部更新字段
HEAD 检查链接有效性
OPTIONS CORS预检
CONNECT SSL隧道
TRACE 调试

关键概念

  • 安全方法:仅用于获取信息,不产生副作用(GET/HEAD/OPTIONS/TRACE)
  • 幂等方法:多次执行与一次执行效果相同(GET/PUT/DELETE/HEAD/OPTIONS/TRACE)
  • RESTful设计:GET查、POST建、PUT改、DELETE删,是API设计的核心约定
  • CORS预检:浏览器跨域请求前自动发送OPTIONS方法探测服务器许可