Webserver in­for­mie­ren Clients wie bei­spiels­wei­se In­ter­net­brow­ser mithilfe von HTTP-Sta­tus­codes über den Be­ar­bei­tungs­stand der ge­stell­ten Anfrage. So gibt es ver­schie­de­ne Codes, um den Erfolg oder den Miss­erfolg eines Requests zu be­stä­ti­gen – darunter auch sehr spe­zi­fi­sche Meldungen. Während einige dieser Be­nach­rich­ti­gun­gen bei der täglichen Tour durch das World Wide Web ver­gleichs­wei­se häufig auftreten, zählt der Error 405 (Method not Allowed) zu den seltener ge­mel­de­ten Fehlern. Was genau zu eben jener Feh­ler­mel­dung führt und warum die Pro­blem­lö­sung Sache des Website-Be­trei­bers ist, erfahren Sie in diesem Artikel.

KI-Assistent kostenlos – Ihr smarter All­tags­hel­fer
  • DSGVO-konform & sicher gehostet in Deutsch­land
  • Pro­duk­ti­vi­tät steigern – weniger Aufwand, mehr Output
  • Direkt im Browser starten – ohne In­stal­la­ti­on

Was steckt hinter dem 405-HTTP-Fehler?

Im Hypertext Transfer Protocol (kurz: HTTP) sind Methoden definiert, die mögliche Aktionen be­zeich­nen, die sich auf dem kon­tak­tier­ten Webserver ausführen lassen. Dazu gehören bei­spiels­wei­se die folgenden Methoden:

  • GET: Abrufen der In­for­ma­tio­nen, die mit einer be­stimm­ten URL-Ressource verbunden sind
  • HEAD: Abrufen der Header-In­for­ma­tio­nen, die mit einer URL-Ressource verknüpft sind
  • POST: Senden von Daten an den Webserver – zum Beispiel For­mu­lar­da­ten
  • PUT: Ersetzen der Daten für eine bestimmte URL durch die neuen, vom Client über­mit­tel­ten Daten
  • DELETE: Löschen der Daten, die hinter der je­wei­li­gen URL stecken

Jeden Webserver kann der Ad­mi­nis­tra­tor so kon­fi­gu­rie­ren, dass dieser die einzelnen Methoden entweder erlaubt oder nicht erlaubt. Gibt es bei­spiels­wei­se keinen in­ter­ak­ti­ven Content auf der Website, ist es nur logisch, dass die POST-Methode nicht erlaubt ist, da der Benutzer sowieso keine Mög­lich­keit hat, eigene Daten ein­zu­ge­ben und an den Webserver zu senden. Enthält die Seite hingegen ein Formular für Nut­zer­ein­ga­ben, sollte der Server die POST-Methode auch zulassen. An­dern­falls käme es zu der erwähnten Feh­ler­mel­dung mit dem Sta­tus­code 405, die den Browser und seinen User darüber in­for­miert, dass die an­ge­wand­te Methode nicht erlaubt ist (engl. Method not Allowed).

Der genaue Wortlaut der 405-HTTP-Nachricht variiert dabei von Server zu Server. Bekannte For­mu­lie­run­gen sind zum Beispiel die folgenden:

  • 405 Method Not Allowed
  • 405 Not Allowed
  • Method Not Allowed
  • HTTP 405 Error
  • HTTP Error 405 – Method Not Allowed
  • HTTP 405 Method Not Allowed
  • Error: 405 Method Not Allowed
  • 405 – HTTP verb used to access this page is not allowed
  • HTTP Status 405 – HTTP method GET is not supported by this URL

Wann tritt der 405-Error auf?

Eingangs wurde bereits an­ge­deu­tet, dass der 405-Error ein Fehler ist, der aus­schließ­lich auf ein ser­ver­sei­ti­ges Problem zu­rück­zu­füh­ren ist. Da Sta­tus­code 405 aber technisch gesehen zu den Client-Feh­ler­mel­dun­gen (Codes mit dem Muster 4xx) zählt, scheint dies keinen Sinn zu ergeben. Der Wi­der­spruch ist al­ler­dings schnell aufgelöst: Leiten Sie als Brow­ser­nut­zer eine Anfrage mit einer HTTP-Methode an den Webserver weiter, die dieser aufgrund seiner Kon­fi­gu­ra­ti­on nicht erlaubt, liegt der Fehler aus Sicht des Servers auf Seiten des Clients – der in diesem Fall schlicht­weg eine falsche Anfrage gestellt hat. Dass Sie lediglich auf das Angebot der Website eingehen und bei­spiels­wei­se ein Kon­takt­for­mu­lar ausfüllen wollen, weiß der Server bei der Ver­ar­bei­tung der Anfrage nicht.

Ins­be­son­de­re drei Szenarien können zur „Method Not Allowed“-Feh­ler­mel­dung führen:

  1. Das Verbot der ent­spre­chen­den HTTP-Methode geht auf eine Fehl­kon­fi­gu­ra­ti­on von Webserver bzw. Soft­ware­kom­po­nen­ten zurück, die die jeweilige Aktion für die ge­wünsch­te URL-Ressource ausführen sollen.
  2. Das Verbot der HTTP-Methode ist vom Webmaster – in den meisten Fällen aus Si­cher­heits­grün­den – so vor­ge­se­hen. Der Fehler liegt in einer URL-Ressource des be­tref­fen­den Web­pro­jekts, die aufgrund ihrer Pro­gram­mie­rung nach der nicht zu­ge­las­se­nen Methode verlangt.
  3. Die HTTP-Methode wird vom Hosting-Provider des Website-Be­trei­bers nicht zu­ge­las­sen. Dies kann vor allem bei der POST-Methode vorkommen, die für die Eingabe von Daten benötigt wird und bei einigen Anbietern aus Si­cher­heits­grün­den beim Zugriff auf HTML-Dokumente blockiert ist.

HTTP-Error 405: So lösen Sie das Problem

Wenn Sie auf ein Web­pro­jekt stoßen, das 405-Not-Allowed-Nach­rich­ten ausspielt, können Sie selbst das Problem kaum lösen. Während bei anderen HTTP-Meldungen Tricks wie ein Seiten-Refresh, der Neustart des Routers oder eine Über­prü­fung der Proxy-Ein­stel­lun­gen den Fehler meist beheben können, sind derartige Maßnahmen bei Fehler 405 wir­kungs­los. In jedem Fall ist es jedoch sinnvoll, den zu­stän­di­gen Webmaster bzw. Website-Ad­mi­nis­tra­tor zu kon­tak­tie­ren, um ihn auf das Problem auf­merk­sam zu machen oder genauere In­for­ma­tio­nen zu den Ursachen zu erhalten.

Sind Sie hingegen selbst für eine Seite ver­ant­wort­lich, die Besuchern den 405-HTTP-Code anzeigt, sieht die Sachlage natürlich gänzlich anders aus: Abhängig von der Ursache für die Feh­ler­mel­dung haben Sie ver­schie­de­ne Mög­lich­kei­ten, das Problem zu lösen. Um Ihre User nicht zu verärgern und um Ab­stra­fun­gen durch die Such­ma­schi­nen zu vermeiden, sollten Sie den Fehler möglichst früh­zei­tig beheben.

Lösung 1: HTTP-Methode frei­schal­ten

Wenn Sie sich über die Ursache der „405 Method Not Allowed“-Meldung nicht im Klaren sind, sollte Ihr erster Blick immer den Ein­stel­lun­gen der Soft­ware­kom­po­nen­ten gelten, die sich um die Be­ant­wor­tung der HTTP-Requests kümmern. Ty­pi­scher­wei­se handelt es sich dabei um den Webserver, doch auch ein vor­ge­schal­te­ter Proxy oder HTTP-Handler (in ASP.NET-Web­an­wen­dun­gen) kann für das Problem ver­ant­wort­lich zu sein, wenn die Methode schlicht­weg nicht frei­ge­ge­ben ist. Da sich die die ver­schie­de­nen An­wen­dun­gen hin­sicht­lich der Kon­fi­gu­ra­ti­ons­wei­se von­ein­an­der un­ter­schei­den, müssen Sie sich zunächst in­for­mie­ren, wie die Ak­ti­vie­rung bzw. De­ak­ti­vie­rung der HTTP-Methoden bei der je­wei­li­gen Software funk­tio­niert. Bei Apache-Web­ser­vern lassen sich die erlaubten Methoden bei­spiels­wei­se mithilfe des Moduls mod_al­low­me­thods bestimmen. Das lässt sich über die Direktive Al­low­Me­thods innerhalb von <Location>-Con­tai­nern steuern, die dazu benötigt werden, Ein­stel­lun­gen für eine URL bzw. mehrere ge­wünsch­te URLs fest­zu­le­gen. Eine Kon­fi­gu­ra­ti­on, die den Zugriff auf die Ressource sowie die cli­ent­sei­ti­ge Da­ten­ein­ga­be er­mög­licht, ließe sich durch folgenden Eintrag rea­li­sie­ren:

<Location "/">
    AllowMethods GET POST OPTIONS
</Location>
Hinweis

Bei älteren Apache-Versionen wurden zu­ge­las­se­ne HTTP-Methoden über die Di­rek­ti­ven <Limit> und <Li­mi­tEx­cept> definiert.

Lösung 2: Quellcode be­rei­ni­gen

Wenn Sie eine HTTP-Methode bewusst gesperrt haben, um bei­spiels­wei­se die Si­cher­heit der Website zu ge­währ­leis­ten (häufige Ver­fah­rens­wei­se bei der PUT-Methode), der Client aber dennoch eine solche Anfrage zum Abruf der URL-Res­sour­cen startet, liegt dies häufig an einer feh­ler­haf­ten Website-Pro­gram­mie­rung. Die auf­ge­ru­fe­ne Seite bzw. das an­ge­for­der­te Element ist also fälsch­li­cher­wei­se mit der Methode verknüpft, weshalb der Error 405 die logische Kon­se­quenz ist. Die Lösung besteht darin, den pro­ble­ma­ti­schen Code im be­tref­fen­den HTML-Dokument ausfindig zu machen und die bisher ein­ge­tra­ge­ne durch die richtige Request-Methode zu ersetzen. Sind Server-Kon­fi­gu­ra­ti­on und Quellcode wieder auf­ein­an­der ab­ge­stimmt, wird mit großer Wahr­schein­lich­keit auch der 405-HTTP-Fehler aus den Brow­ser­fens­tern Ihrer Besucher ver­schwin­den.

Lösung 3: Si­cher­heits­sper­re des Providers umgehen

Wie bereits erwähnt, kann der 405-Error auch den Hin­ter­grund haben, dass die ent­spre­chen­den HTTP-Methoden für bestimmte MIME-Types – wie zum Beispiel ein HTML-Dokument – aus Si­cher­heits­grün­den vom Hosting-Provider de­ak­ti­viert wurden. In diesem Fall können Sie natürlich den Kontakt zu Ihrem Anbieter suchen und um die Freigabe bitten – ist dies jedoch nicht möglich, gibt es Tricks, um die Methode trotzdem für Ihr Web­pro­jekt zu nutzen.

So können Sie die Website mit einem anderen MIME-Type aus­lie­fern, für den die ge­wünsch­te Methode verfügbar ist, um die Sperre zu umgehen. POST wird zum Beispiel in erster Linie für HTML-Seiten de­ak­ti­viert, während die Methode in PHP-Do­ku­men­ten funk­tio­niert. Ändern Sie also die Extension (Endung) und damit auch den Typ des bei­spiel­haf­ten Web-Dokuments index.html auf index.php, haben Sie gute Chancen, die „405 Method Not Allowed“-Pro­ble­ma­tik zu lösen.

Ein zweiter Trick besteht darin, die Webseite, die zum HTTP-Fehler führt, als Inhalt der an­ge­zeig­ten 405-Feh­ler­sei­te zu im­ple­men­tie­ren. Speichern Sie die be­tref­fen­de Seite zu diesem Zweck einfach in einem separaten Ver­zeich­nis ab und de­fi­nie­ren diese in der Kon­fi­gu­ra­ti­ons­da­tei als of­fi­zi­el­le 405-Feh­ler­mel­dung:

ErrorDocument 405 /PfadZurDatei/example.html

Die Lösung hat al­ler­dings den Nachteil, dass alle er­folg­rei­chen Sei­ten­auf­ru­fe für diese Seite als Fehler gewertet und gezählt werden, was die sta­tis­ti­sche Aus­wer­tung erschwert.

Zum Hauptmenü