416

Range Not Satisfiable

Offiziell
Die angefragten Bereiche können nicht bereitgestellt werden

Spezifikation von dem HTTP statuscode 416

Der Statuscode 416 Range Not Satisfiable zeigt an, dass keiner der Bereiche im Range-Header-Feld der Anfrage (Abschnitt 3.1) die aktuelle Ausdehnung der ausgewählten Ressource überschneidet oder dass der angeforderte Satz von Bereichen aufgrund ungültiger Bereiche oder einer übermäßigen Anforderung kleiner oder sich überschneidender Bereiche abgelehnt wurde.

Bei Byte-Bereichen bedeutet das Fehlen einer Überschneidung mit der aktuellen Ausdehnung, dass die First-Byte-Pos aller Byte-Range-Spec-Werte größer als die aktuelle Länge der ausgewählten Darstellung war. Wenn dieser Statuscode als Antwort auf eine Bytebereichsanforderung erzeugt wird, SOLLTE der Absender ein Content-Range-Header-Feld erzeugen, das die aktuelle Länge der ausgewählten Darstellung angibt (Abschnitt 4.2).

Zum Beispiel:

HTTP/1.1 416 Range Not Satisfiable
Datum: Fri, 20 Jan 2012 15:41:54 GMT
Content-Range: bytes */47022

Anmerkung: Da es Servern freisteht, Range zu ignorieren, antworten viele Implementierungen einfach mit der gesamten ausgewählten Darstellung in einer 200 (OK)-Antwort. Das liegt zum einen daran, dass die meisten Clients darauf vorbereitet sind, ein 200 (OK) zu erhalten, um die Aufgabe abzuschließen (wenn auch weniger effizient), und zum anderen daran, dass Clients möglicherweise erst dann aufhören, eine ungültige Teilanfrage zu stellen, wenn sie eine vollständige Darstellung erhalten haben. Daher können sich die Kunden nicht darauf verlassen, dass sie eine 416 Range Not Satisfiable-Antwort erhalten, selbst wenn dies am sinnvollsten wäre.

Quelle / Zitat von: Spezifiziert wird der 416 Range Not Satisfiable HTTP Status Code durch Abschnitt 4.4 von RFC7233

Wie kann man mit PHP einen 416-Statuscode werfen?

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

Teste den 416 HTTP Status Code

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

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

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

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

NGINX Webserver

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

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

Browser-Kompatibilität des 416 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.RequestedRangeNotSatisfiable
http.StatusRequestedRangeNotSatisfiable
Response::HTTP_REQUESTED_RANGE_NOT_SATISFIABLE
httplib.REQUESTED_RANGE_NOT_SATISFIABLE
http.client.REQUESTED_RANGE_NOT_SATISFIABLE
http.HTTPStatus.REQUESTED_RANGE_NOT_SATISFIABLE
:requested_range_not_satisfiable
Autor: Tony Brüser
Autor: Tony Brüser

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

LinkedInGitHub