HTTP 方法速查

HTTP 请求方法速查:GET/POST/PUT/PATCH/DELETE 等方法的用途、安全性与幂等性。

纯浏览器本地运行,数据不上传服务器

方法用途安全/幂等典型场景
GET获取资源安全幂等浏览器地址栏、链接
POST创建资源/提交数据非安全表单提交、API 创建
PUT整体替换资源幂等更新整个资源
PATCH部分更新资源非幂等局部字段更新
DELETE删除资源幂等删除操作
HEAD仅获取响应头安全幂等检查资源存在性、缓存
OPTIONS查询支持的请求方法安全CORS 预检
CONNECT建立隧道非安全HTTPS 代理
TRACE回显请求安全诊断调试(常被禁用)
PURGE清除缓存幂等CDN 缓存清理
LOCK锁定资源非安全WebDAV
UNLOCK解锁资源非安全WebDAV
PROPFIND查询资源属性安全WebDAV
PROPPATCH修改资源属性非安全WebDAV
MKCOL创建集合非安全WebDAV
COPY复制资源非安全WebDAV
MOVE移动资源非安全WebDAV

使用说明

  1. 表格列出标准 HTTP 方法及扩展方法:用途、是否安全、是否幂等与典型场景。
  2. “安全”指不会改变服务器状态(GET/HEAD/OPTIONS);“幂等”指多次执行结果一致(PUT/DELETE)。
  3. 设计 REST API 时按语义选择方法,能获得更好的缓存与重试行为。

常见问题

PUT 和 PATCH 有什么区别?
PUT 是整体替换资源(客户端提交完整表示),幂等;PATCH 是部分更新(只提交要改的字段),不保证幂等。
浏览器只支持 GET/POST,怎么办?
HTML 表单只支持 GET 和 POST,但可在 POST 中携带 _method 字段由服务端解释为 PUT/DELETE,或直接用 fetch/XHR 发送任意方法。
OPTIONS 预检请求是什么?
跨域请求若触发 CORS 预检,浏览器会先发 OPTIONS 询问服务器允许哪些方法/头,服务器响应 Access-Control-Allow-* 头后才会发真实请求。
反馈