首页/网络/协议速查/Allow 允许的方法列表
HTTP 头与缓存70 条

Allow 允许的方法列表

告知目标资源支持哪些 HTTP 方法;405 响应必须携带,OPTIONS 响应通常也返回它。

协议速查网络更新于 2026-10-13

Allow 是什么

Allow 头列出目标资源支持哪些方法。它有两个强约束场景:405 响应必须携带它,OPTIONS 响应通常也会返回它(RFC 9110 §10.2.1,405 的要求见 §15.5.6)。对客户端与工具来说,这是不必逐个试错就能知道接口能力的方式。

什么时候会看到不一致

网关、框架与路由中间件都各自维护方法列表。如果 Allow 声明的与实际行为不符——例如声明支持某方法却返回 405——通常是路由重写、权限中间件或前置网关在其中改动了方法集合,而不是框架本身出了问题。

基本信息

名称Allow
作用枚举资源支持的方法
规范RFC 9110 §10.2.1,405 必须携带见 §15.5.6
常见场景405 响应与 OPTIONS 响应
格式逗号分隔的方法名列表

典型使用场景

  • 客户端探测接口能力,避免盲目尝试后拿到 405
  • 排查 405 与跨域预检失败
  • 对接第三方系统时确认其支持的方法集合
  • 比对网关声明与后端实际注册的路由

验证接口支持的方法

验证接口支持的方法
curl -si -X OPTIONS https://api.example.com/users | grep -i '^allow:'
# allow: GET, POST, HEAD, OPTIONS
curl -si -X PUT https://api.example.com/users | head -3   # 看 405 是否带 Allow

状态与头部配合

场景状态码头部要求
方法不被支持405必须携带 Allow
能力探测204 或 200通常携带 Allow
跨域预检204携带跨域相关字段,而非 Allow
资源不存在404不必携带 Allow
Allow 与实际行为不符时,优先查路由重写与权限中间件,而不是先怀疑框架:这类不一致通常是中间环节改的。
部分网关默认拦截 OPTIONS 请求:需要显式放行,否则探测能力的客户端与工具会得到误导性的结果。

怎么用它做排障

当调用方报「接口 405」时,先用 OPTIONS 看声明了哪些方法,再直接用该方法发一次请求:如果声明与实际行为对不上,就顺着链路逐跳检查,从网关的转发规则一路查回后端路由注册,通常能很快定位到改动方法集合的那一环。

部分框架会把 HEAD 自动映射到 GET 处理:允许列表里出现 HEAD 并不一定代表后端单独实现过它。

易错点

  • 405 响应不带 Allow:调用方只能靠猜,前端也无法给出正确提示
  • Allow 声明与实际路由不一致:说明中间件或重写规则改动了方法集合
  • OPTIONS 被网关默认拦截:探测能力时得到「不支持」的错误结论
  • 把 Allow 当成鉴权声明:它只表示方法支持,不代表当前身份被允许

数据来源与参考

  • RFC 9110 §10.2.1 Allow
  • RFC 9110 §15.5.6(405 必须带 Allow)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌