含义
URL 存在,但不支持所使用的 HTTP 方法。Allow 头列出了可用的方法。
常见原因
- 向静态文件或只支持 GET 的路由发送 POST
- 表单提交到了错误的端点
- 路由在另一个路径上定义了该方法,例如带末尾斜杠的路径
解决方法
客户端或访问者
查看 Allow 头和 API 文档,确保方法与 URL 匹配。
网站或 API 的维护者
返回 405 时始终带上 Allow。检查路由中末尾斜杠的差异,以及静态托管是否接管了 API 路径。
响应示例
HTTP/1.1
HTTP/1.1 405 Method Not Allowed
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Allow: GET, HEAD, POST
Content-Type: application/problem+json
{
"type": "about:blank",
"title": "Method Not Allowed",
"status": 405,
"detail": "DELETE is not supported on /users."
} 规范
常见问题
› 405 和 404 的区别?
404:这里什么都没有。405:这里有东西,但不支持这个方法。
› 为什么在静态托管上 POST 会得到 405?
静态托管只处理 GET/HEAD;POST 需要服务端函数或外部表单服务。