406

Not Acceptable

Offiziell Unterstatus-Codes
Der Benutzer-Agenten besitzt keine akzeptierte Repräsentation

Spezifikation von dem HTTP statuscode 406

Der Statuscode 406 Not Acceptable zeigt an, dass die Zielressource keine aktuelle Darstellung hat, die für den Benutzer-Agenten gemäß den in der Anfrage empfangenen proaktiven Verhandlungs-Headerfeldern akzeptabel wäre, und dass der Server nicht bereit ist, eine Standarddarstellung zu liefern. Der Server SOLLTE eine Nutzlast erzeugen, die eine Liste verfügbarer Darstellungsmerkmale und entsprechender Ressourcenkennungen enthält, aus der der Benutzer oder der Benutzeragent die am besten geeignete auswählen kann. Ein Benutzer-Agent KANN automatisch die am besten geeignete Auswahl aus dieser Liste treffen.

Quelle / Zitat von: Spezifiziert wird der 406 Not Acceptable HTTP Status Code durch Abschnitt 6.5.6 von RFC7231

Wie kann man mit PHP einen 406-Statuscode werfen?

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

Teste den 406 HTTP Status Code

Um die HTTP Status Code (in diesem Fall 406 Not Acceptable) 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 406 Not Acceptable
Überblick
URL: https://http-statuscode.com/errorCodeExample.php?code=406
Status: 406 Not Acceptable
Diese: Network
IP-Adresse: XX.XX.XX.XX
Statuscode 406 Not Acceptable

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

Eine eigene 406 Not Acceptable 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 406 Not Acceptable Fehlerseite in"Apache" zu erstellen, muss in folgender Datei folgende Änderung durchgeführt werden.

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

NGINX Webserver

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

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

Browser-Kompatibilität des 406 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.NotAcceptable
http.StatusNotAcceptable
Response::HTTP_NOT_ACCEPTABLE
httplib.NOT_ACCEPTABLE
http.client.NOT_ACCEPTABLE
http.HTTPStatus.NOT_ACCEPTABLE
:not_acceptable

Unterstatuscodes des 406 Statuscode

Unterstatuscodes sind rein technisch, und sollten niemals dem Nutzer gesendet werden. Wenn beispielsweise der Statuscode 406.1 geworfen wird, kann dieser zwar geloggt werden, aber der Statuscode 406 wird dem User gesendet.:
406.0 Invalid MIME type
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