405

Method Not Allowed

Offiziell Unterstatus-Codes
Die zur Anfrage genutzte Methode ist nicht erlaubt

Spezifikation von dem HTTP statuscode 405

Der Statuscode 405 Method Not Allowed zeigt an, dass die in der Anfragezeile empfangene Methode dem Ursprungsserver bekannt ist, aber von der Zielressource nicht unterstützt wird. Der Ursprungsserver MUSS in einer 405 Method Not Allowed-Antwort ein Allow-Header-Feld erzeugen, das eine Liste der von der Zielressource derzeit unterstützten Methoden enthält. Eine 405 Method Not Allowed-Antwort ist standardmäßig cachefähig, d. h., sofern die Methodendefinition oder explizite Cache-Kontrollen nichts anderes vorsehen

Quelle / Zitat von: Spezifiziert wird der 405 Method Not Allowed HTTP Status Code durch Abschnitt 6.5.5 von RFC7231

Wie kann man mit PHP einen 405-Statuscode werfen?

Um auf einer Webseite den HTTP Status Code 405 zu werfen, kann die PHP Funktion http_response_code benutzt werden. Die Syntax sieht wie folgt aus: http_response_code(405) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Teste den 405 HTTP Status Code

Um die HTTP Status Code (in diesem Fall 405 Method Not Allowed) und weitere Informationen clientseitig anzeigen zu können, muss die Entwicklungskonsole mit F12 geöffnet werden. Im Anschluss muss zu der Karteikarte "Netzwerk" navigiert werden. Jetzt kann die Seite geöffnet werden, im Netzwerktab sollte die Webseite (Beispiel index.php) zu sehen sein. Diese muss ausgewählt werden und im Anschluss der Bereich Herder gewählt werden. Hier sieht der Nutzer dann folgendes Ergebnis:

Statuscode 405 Method Not Allowed
Überblick
URL: https://http-statuscode.com/errorCodeExample.php?code=405
Status: 405 Method Not Allowed
Diese: Network
IP-Adresse: XX.XX.XX.XX
Statuscode 405 Method Not Allowed

Wie löse ich das Problem mit dem 405 Statuscode?

Die Lösung für das Problem mit dem HTTP-Statuscode 405 Method Not Allowed besteht darin, die erforderlichen Änderungen auf Client- oder Serverseite vorzunehmen. Im Folgenden werde ich verschiedene Ansätze erläutern, die bei der Lösung des Problems helfen können:

  1. Überprüfe die unterstützten HTTP-Methoden: Der 405 Method Not Allowed-Statuscode tritt auf, wenn der Client eine HTTP-Methode verwendet, die vom Server nicht unterstützt wird. Stelle sicher, dass du die richtige Methode verwendest, z.B. GET, POST, PUT oder DELETE, je nachdem, welche Aktion du ausführen möchtest. Überprüfe die Dokumentation der API oder des Servers, um die unterstützten Methoden für die betreffende Ressource zu ermitteln.
  2. Überprüfe die URL: Es ist möglich, dass die URL falsch formatiert oder ungültig ist, was zu einem 405 Method Not Allowed-Fehler führt. Stelle sicher, dass die URL korrekt ist und auf die richtige Ressource auf dem Server verweist.
  3. Überprüfe die Zugriffsrechte: Ein 405 Method Not Allowed-Fehler kann auftreten, wenn der Client nicht über die erforderlichen Berechtigungen verfügt, um die angeforderte Aktion auf der Ressource durchzuführen. Überprüfe die Zugriffssteuerungsmechanismen auf dem Server und stelle sicher, dass der Client die erforderlichen Rechte hat.
  4. Überprüfe die Serverkonfiguration: Der Server kann so konfiguriert sein, dass er bestimmte HTTP-Methoden für bestimmte Ressourcen blockiert. Überprüfe die Serverkonfiguration, um sicherzustellen, dass die gewünschte Methode für die betreffende Ressource erlaubt ist. Wenn du Zugriff auf die Serverkonfiguration hast, kannst du sie entsprechend anpassen.
  5. Überprüfe Firewalls und Proxies: Es ist möglich, dass Firewalls oder Proxies den HTTP-Verkehr einschränken und den 405 Method Not Allowed-Fehler verursachen. Stelle sicher, dass Firewalls oder Proxies korrekt konfiguriert sind und die erforderlichen HTTP-Methoden für die Kommunikation zulassen.
  6. Aktualisiere die verwendete Software: Manchmal können veraltete oder fehlerhafte Versionen von Software (wie z.B. Webbrowser oder API-Clients) zu Fehlern führen. Aktualisiere die verwendete Software auf die neueste stabile Version und überprüfe, ob das Problem weiterhin besteht.
  7. Konsultiere die Dokumentation oder den Support: Wenn keine der oben genannten Lösungen das Problem löst, solltest du die offizielle Dokumentation des Servers oder der API konsultieren. Dort findest du möglicherweise spezifische Informationen oder weitere Schritte zur Fehlerbehebung. Bei Bedarf kannst du auch den technischen Support des Servers oder der API kontaktieren, um weitere Hilfe zu erhalten.

Beachte, dass die Lösung des 405 Method Not Allowed-Fehlers von der spezifischen Umgebung und dem Kontext abhängen kann.

Wie erstellt man eine eigene Fehlerseite für den Statuscode 405

Eine eigene 405 Method Not Allowed Fehlerseite zu erstellen ist sowohl mit dem Webserver "Apache" als auch mit dem Webserver "NGINX", relativ leicht.

Apache Webserver

Der Webserver "Apache" gilt zu den meist verbreitetsten Webservern im Internet. Um einen eigene 405 Method Not Allowed Fehlerseite in"Apache" zu erstellen, muss in folgender Datei folgende Änderung durchgeführt werden.

File: .htaccess
ErrorDocument 405 /errors/405.html

NGINX Webserver

Ähnlich wie der Webserver "Apache" ist auch "NGINX" im Internet weit verbreitet. Um einen eigene 405 Method Not Allowed Fehlerseite in "NGINX" zu erstellen, muss in folgender Datei folgende Änderung durchgeführt werden.

File: sites-enabled/default
error_page 405 /405.html;
location = /405.html {
    root /usr/share/nginx/html;
    internal;
}

Browser-Kompatibilität des 405 Statuscode

Chrome no data
Edge no data
Firefox no data
Opera no data
Safari no data
Chrome Android no data
Firefox for Android no data
Opera Android no data
Safari on iOS no data
Internet no data
WebView Android no data

Konstanten in Programmiersprachen

HttpStatusCode.MethodNotAllowed
http.StatusMethodNotAllowed
Response::HTTP_METHOD_NOT_ALLOWED
httplib.METHOD_NOT_ALLOWED
http.client.METHOD_NOT_ALLOWED
http.HTTPStatus.METHOD_NOT_ALLOWED
:method_not_allowed

Unterstatuscodes des 405 Statuscode

Unterstatuscodes sind rein technisch, und sollten niemals dem Nutzer gesendet werden. Wenn beispielsweise der Statuscode 405.1 geworfen wird, kann dieser zwar geloggt werden, aber der Statuscode 405 wird dem User gesendet.:
405.0 Method not allowed
HTTP IIS, Inoffiziell
Autor: Tony Brüser
Autor: Tony Brüser

Tony Brüser ist ein begeisterter Webentwickler mit einer Vorliebe für HTTP Statuscodes.

LinkedInGitHub