416

Range Not Satisfiable

Officiell
De begärda områdena kan inte tillhandahållas

Specifikation av HTTP-statuskoden 416

Statuskoden 416 Range Not Satisfiable anger att inget av områdena i begäranens Range-huvudfält (avsnitt 3.1) överlappar den valda resursens aktuella omfattning eller att den begärda uppsättningen områden har avvisats på grund av ogiltiga områden eller en alltför stor begäran om små eller överlappande områden.

För byteområden innebär misslyckandet med att överlappa den aktuella omfattningen att första-byte-positionen för alla byteområdesspecifika värden var större än den aktuella längden på den valda representationen. När denna statuskod genereras som svar på en begäran om byte-range, bör avsändaren generera ett Content-Range-huvudfält som anger den aktuella längden på den valda representationen (avsnitt 4.2).

Till exempel:

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

Anmärkning: Eftersom servrar fritt kan ignorera Range kommer många implementationer helt enkelt att svara med hela den valda representationen i ett 200-svar (OK). Detta beror dels på att de flesta klienter är beredda att ta emot ett 200 (OK) för att slutföra uppgiften (även om det är mindre effektivt), dels på att klienter kanske inte slutar göra en ogiltig partiell begäran förrän de har fått en fullständig representation. Klienterna kan alltså inte lita på att de får ett 416 Range Not Satisfiable-svar även när det är lämpligast.

Källa / Citat från: HTTP-statuskoden 416 Range Not Satisfiable anges i avsnitt 4.4 i RFC7233.

Hur skickar man en 416-statuskod med PHP?

För att kasta HTTP-statuskoden 416 på en webbsida kan PHP-funktionen http_response_code användas. Syntaxen är följande: http_response_code(416) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Testa HTTP-statuskoden 416

För att kunna visa HTTP-statuskoden (i det här fallet 416 Range Not Satisfiable) och annan information på klientsidan måste utvecklingskonsolen öppnas med F12. Navigera sedan till fliken "Network" (nätverk). Nu kan sidan öppnas, webbplatsen (exempel index.php) ska vara synlig i fliken nätverk. Denna måste väljas och sedan måste avsnittet Herder väljas. Användaren kommer då att se följande resultat:

Statuskod 416 Range Not Satisfiable
Översikt
URL: https://http-statuscode.com/errorCodeExample.php?code=416
Status: 416 Range Not Satisfiable
Dessa: Network
IP-adress: XX.XX.XX.XX
Statuskod 416 Range Not Satisfiable

Så här skapar du en egen felsida för statuskoden 416

Det är relativt enkelt att skapa en egen 416 Range Not Satisfiable-felsida med både Apache- och NGINX-webbservrarna.

Apache Webserver

Webbservern "Apache" är en av de vanligaste webbservrarna på Internet. För att skapa en egen 416 Range Not Satisfiable-felsida i "Apache" måste följande ändring göras i följande fil.

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

NGINX Webserver

I likhet med webbservern Apache används NGINX i stor utsträckning på Internet. För att skapa en egen 416 Range Not Satisfiable-felsida i "NGINX" måste följande ändring göras i följande fil.

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

Webbläsarnas kompatibilitet med statuskoden 416

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

Konstanter i programmeringsspråk

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

Underhållande memes om HTTP-statuskoden 416

Författare: Tony Brüser
Författare: Tony Brüser

Tony Brüser är en entusiastisk webbutvecklare med en förkärlek för HTTP-statuskoder.

LinkedInGitHub