HTTP 501 Not Implemented
Der Server kann das schlicht nicht: Die angeforderte Funktionalität — meist die HTTP-Methode — wird überhaupt nicht unterstützt.
Was HTTP 501 bedeutet
HTTP 501 Not Implemented bedeutet, dass der Server die für die Anfrage benötigte Funktionalität nicht erkennt oder unterstützt. Die Spezifikation reserviert diesen Status vor allem für nicht erkannte HTTP-Methoden — der Server kann das Verb für keine Ressource verarbeiten, im Gegensatz zu 405, wo das Verb bekannt, aber für diese URL nicht erlaubt ist.
In der Praxis taucht 501 auch bei Proxys und Legacy-Servern auf, die auf Anfragen treffen, für die sie nie gebaut wurden (WebDAV-Verben, PATCH auf alten Stacks), oder als Platzhalter bei halb konfigurierten Backends.
Häufige Ursachen von 501-Fehlern
- Eine HTTP-Methode, die der Server überhaupt nicht implementiert (z. B. PATCH oder WebDAV-Verben auf einem alten Server).
- Ein Proxy oder Gateway, der eine Anfragemethode erhält, die er nicht weiterleiten kann.
- Ein Stub-Endpunkt, der bereitgestellt wurde, bevor seine Implementierung fertig war.
- Fehlerhafte Methodennamen durch fehlerhafte Clients (Tippfehler wie GETT).
So behebst du es als Entwickler
- Prüfe die genau gesendete Methode — Tippfehler und falsch geschriebene Custom-Verben sind erstaunlich häufig.
- Wenn die Methode legitim ist (z. B. PATCH), aktualisiere oder konfiguriere Server/Framework so, dass sie unterstützt wird, oder tunnle sie über POST mit einem Override-Header, wo der Stack das erlaubt.
- Unterscheide von 405: Lehnt nur eine Route das Verb ab, behebe die Route (405-Territorium); tut das der gesamte Server, ist es eine Plattform-Fähigkeitslücke.
- Gib in Produktions-APIs kein 501 für unfertige Features zurück — bevorzuge 404 oder ein Feature-Flag, da 501 standardmäßig cachebar ist.
Beispielantwort
HTTP/1.1 501 Not Implemented
Content-Type: application/json
{"error":"not_implemented","message":"PATCH is not supported by this server"}FAQ
Was ist der Unterschied zwischen 501 und 405?
405 bedeutet, dass die URL existiert, diese Methode aber ablehnt (siehe Allow-Header). 501 bedeutet, dass der Server die Methode für überhaupt keine Ressource unterstützt.
Ist ein 501-Fehler vorübergehend?
Meist nicht — es signalisiert eine fehlende Fähigkeit, keinen Ausfall. Es verschwindet erst, wenn der Server Unterstützung für die angeforderte Funktionalität erhält.
Warum liefert meine PATCH-Anfrage 501 zurück?
Der Server oder ein zwischengeschalteter Proxy stammt aus einer Zeit vor der PATCH-Unterstützung. Aktualisiere den Stack, aktiviere die Methode, oder nutze einen POST-basierten Method-Override.