意義
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 需要伺服器端函式或外部表單服務。