416

Range Not Satisfiable

Officiel
De ønskede områder kan ikke leveres

Specifikation af HTTP-statuskode 416

Statuskoden 416 Range Not Satisfiable angiver, at ingen af intervallerne i anmodningens Range-headerfelt (afsnit 3.1) overlapper den valgte ressourcens aktuelle omfang, eller at det ønskede sæt af intervaller er blevet afvist på grund af ugyldige intervaller eller en for stor anmodning om små eller overlappende intervaller.

For byte-intervaller betyder det, at det ikke overlapper det aktuelle omfang, at første-byte-pos af alle byte-intervaller-spec-værdierne var større end den valgte repræsentations aktuelle længde. Når denne statuskode genereres som svar på en anmodning om byte-range, BØR afsenderen generere et Content-Range-headerfelt, der angiver den aktuelle længde af den valgte repræsentation (afsnit 4.2).

For eksempel:

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

Bemærkning: Da servere frit kan ignorere Range, vil mange implementeringer blot svare med hele den valgte repræsentation i et 200 (OK)-svar. Det skyldes dels, at de fleste klienter er forberedt på at modtage et 200 (OK) for at fuldføre opgaven (om end mindre effektivt), dels at klienter måske ikke holder op med at sende en ugyldig delanmodning, før de har modtaget en komplet repræsentation. Klienterne kan således ikke være afhængige af at modtage et 416 Range Not Satisfiable-svar, selv når det er mest hensigtsmæssigt.

Kilde / citat fra: HTTP-statuskoden 416 Range Not Satisfiable er specificeret i afsnit 4.4 i RFC7233.

Hvordan får man en 416-statuskode med PHP?

Hvis du vil have HTTP-statuskoden 416 på en webside, kan du bruge PHP-funktionen http_response_code. Syntaksen er som følger: http_response_code(416) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Test 416 HTTP-statuskoden

For at kunne vise HTTP-statuskoden (i dette tilfælde 416 Range Not Satisfiable) og andre oplysninger på klientsiden skal udviklingskonsollen åbnes med F12. Naviger derefter til fanen "Network" (netværk). Nu kan siden åbnes, hjemmesiden (eksempel index.php) skal være synlig i fanen netværk. Denne skal vælges, og derefter skal Herder-sektionen vælges. Brugeren vil derefter se følgende resultat:

Statuskode 416 Range Not Satisfiable
Oversigt
URL: https://http-statuscode.com/errorCodeExample.php?code=416
Status: 416 Range Not Satisfiable
Disse: Network
IP-adresse: XX.XX.XX.XX
Statuskode 416 Range Not Satisfiable

Sådan opretter du din egen fejlside for statuskode 416

Det er relativt nemt at oprette din egen 416 Range Not Satisfiable-fejlside med både Apache- og NGINX-webservere.

Apache Webserver

Webserveren "Apache" er en af de mest almindelige webservere på internettet. For at oprette din egen 416 Range Not Satisfiable-fejlside i "Apache" skal du foretage følgende ændring i følgende fil.

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

NGINX Webserver

I lighed med webserveren "Apache" er "NGINX" også meget udbredt på internettet. For at oprette din egen 416 Range Not Satisfiable-fejlside i "NGINX" skal du foretage følgende ændring i følgende fil.

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

Browserkompatibilitet for 416-statuskoden

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 programmeringssprog

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
Forfatter: Tony Brüser
Forfatter: Tony Brüser

Tony Brüser er en entusiastisk webudvikler med en forkærlighed for HTTP-statuskoder.

LinkedInGitHub