HTTP 405 Method Not Allowed
Richtige Adresse, falsches Verb: Die Ressource existiert, akzeptiert aber diese HTTP-Methode nicht.
Was HTTP 405 bedeutet
HTTP 405 Method Not Allowed bedeutet, dass der Server die URL erkennt, die HTTP-Methode — GET, POST, PUT, DELETE — dafür aber nicht unterstützt wird. Die Antwort muss einen Allow-Header enthalten, der die unterstützten Methoden auflistet.
Es ist fast immer eine Diskrepanz zwischen Client und API: ein Formular, das per POST an eine Seiten-Route sendet, ein Skript, das PUT sendet, wo die API PATCH erwartet, oder ein Webhook, der mit der falschen Methode konfiguriert ist.
Häufige Ursachen von 405-Fehlern
- POST an einen Endpunkt gesendet, der nur GET verarbeitet (oder umgekehrt) — typisch nach dem Kopieren von API-Beispielen.
- Eine Weiterleitung (301/302) hat einen POST in ein GET umgewandelt, bevor der Request den Endpunkt erreichte.
- Der Webserver blockiert Methoden wie PUT/DELETE global, während die Anwendung sie erwartet.
- Eine falsche Route: Der eigentliche Endpunkt ist /api/items (POST), aber der Request traf /items.
So behebst du es als Entwickler
- Lies den Allow-Response-Header — er listet genau auf, welche Methoden die URL akzeptiert.
- Prüfe die API-Dokumentation auf das korrekte Methode-Pfad-Paar.
- Liegt eine Weiterleitung im Pfad, nutze 307/308, damit die Methode den Sprung übersteht.
- Stelle serverseitig sicher, dass die Framework-Route die Methode deklariert und kein Proxy sie entfernt.
Beispielantwort
HTTP/1.1 405 Method Not Allowed
Allow: GET, HEAD
Content-Type: application/json
{"error":"method_not_allowed"}FAQ
Wie sehe ich, welche Methoden eine URL unterstützt?
Prüfe den Allow-Header in der 405-Antwort, oder sende einen OPTIONS-Request an die URL.
Warum wurde aus meinem POST ein GET?
Eine dazwischenliegende 301- oder 302-Weiterleitung ließ den Client die Methode wechseln. Nutze 307/308-Weiterleitungen für Endpunkte, die POST akzeptieren.
Ist 405 ein Client- oder Server-Problem?
Formal ein Client-Fehler, aber oft deckt er eine Server-Fehlkonfiguration auf — eine Route ohne passende Methode oder ein Proxy, der Verben blockiert.