405 Method Not Allowed oznacza, że serwer zna metodę żądania, ale zasób docelowy jej nie obsługuje. Odpowiedź musi zawierać nagłówek Allow z listą metod, które zasób obsługuje, np. Allow: GET, HEAD, OPTIONS.
Typowe przypadki to POST wysłany do statycznego pliku, DELETE wykonany na zasobie API tylko do odczytu albo GET na endpoincie, który przyjmuje wyłącznie wysyłane formularze. Jeśli serwer w ogóle nie rozpoznaje metody, właściwą odpowiedzią jest 501 Not Implemented.
Odpowiedź 405 może być buforowana heurystycznie.
Przykładowa odpowiedź
HTTP/1.1 405 Method Not Allowed
Date: Fri, 06 Nov 2026 10:15:32 GMT
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Content-Length: 30
{"error":"method_not_allowed"} SEO i sprawdzanie przekierowań
Kod 405 dla zwykłych żądań GET jest błędem 4xx i uniemożliwia indeksowanie. Częściej jednak problem dotyczy innych metod: niektóre serwery i frameworki odpowiadają na HEAD kodem 405, co dezorientuje narzędzia do sprawdzania linków i monitoringu, które używają HEAD, by oszczędzać transfer. Jeśli sprawdzenie z metodą HEAD zwraca 405, a z metodą GET – 200, serwer źle obsługuje HEAD, choć HTTP wymaga, by serwery ogólnego przeznaczenia ją obsługiwały.
Typowe przyczyny i zastosowania
- Formularz lub klient API wysyła żądanie POST pod adres URL, który serwuje tylko treści statyczne; nginx odpowiada na takie żądania komunikatem „405 Not Allowed”.
- Trasa we frameworku definiuje tylko
GET, więcHEAD,POSTlubPUTsą odrzucane. - Przekierowanie zachowało metodę: po 307 lub 308
POSTpozostaje żądaniemPOSTi może trafić na stronę, która przyjmuje tylkoGET. - WebDAV lub inne metody są wyłączone w konfiguracji serwera.