416
Range Not Satisfiable
Specyfikacja kodu statusu HTTP 416
Kod statusu 416 Range Not Satisfiable wskazuje, że żaden z zakresów w polu nagłówka Range żądania (sekcja 3.1) nie pokrywa się z bieżącym zakresem wybranego zasobu lub że zestaw żądanych zakresów został odrzucony z powodu nieprawidłowych zakresów lub nadmiernego żądania małych lub nakładających się zakresów.
W przypadku zakresów bajtowych, nie nakładanie się na bieżący zakres oznacza, że pierwsze bajty wszystkich wartości bajtowych (byte-range-spec) były większe niż bieżąca długość wybranego odwzorowania. Gdy ten kod statusu jest generowany w odpowiedzi na żądanie zakresu bajtów, nadawca POWINIEN wygenerować pole nagłówka Content-Range określające bieżącą długość wybranej reprezentacji (sekcja 4.2).
Na przykład:
HTTP/1.1 416 Range Not Satisfiable
Data: Fri, 20 Jan 2012 15:41:54 GMT
Content-Range: bytes */47022
Uwaga: Ponieważ serwery mogą swobodnie ignorować Range, wiele implementacji po prostu odpowie całą wybraną reprezentacją w odpowiedzi 200 (OK). Jest tak częściowo dlatego, że większość klientów jest przygotowana do otrzymania 200 (OK), aby zakończyć zadanie (choć mniej wydajnie), a częściowo dlatego, że klienci mogą nie przestać wykonywać nieważnego częściowego żądania, dopóki nie otrzymają kompletnej reprezentacji. Tak więc klienci nie mogą polegać na otrzymaniu odpowiedzi 416 Range Not Satisfiable, nawet gdy jest to najbardziej odpowiednie.
Źródło / Cytat z: Kod statusu 416 Range Not Satisfiable HTTP jest określony przez sekcję 4.4 z RFC7233.
Protokół HTTP
Jak wyrzucić kod statusu 416 za pomocą PHP?
Aby wyrzucić na stronę internetową kod statusu HTTP 416, można użyć funkcji PHP http_response_code. Składnia jest następująca: http_response_code(416) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Testowanie kodu 416 statusu HTTP
Aby móc wyświetlić kod statusu HTTP (w tym przypadku 416 Range Not Satisfiable) i inne informacje po stronie klienta, należy otworzyć konsolę programistyczną za pomocą F12. Następnie należy przejść do zakładki "Network". Teraz można otworzyć stronę, w zakładce "Network" powinna być widoczna strona (przykładowy index.php). Należy ją zaznaczyć, a następnie wybrać sekcję Herder. Użytkownik zobaczy wtedy następujący wynik:
URL: https://http-statuscode.com/errorCodeExample.php?code=416
Status: 416 Range Not Satisfiable
Te: Network
Adres IP: XX.XX.XX.XX
Jak stworzyć własną stronę błędu dla kodu statusu 416
Apache Webserver
Serwer WWW "Apache" jest jednym z najczęściej spotykanych serwerów WWW w Internecie. Aby stworzyć własną stronę błędu 416 Range Not Satisfiable w "Apache", należy dokonać następującej zmiany w poniższym pliku.
NGINX Webserver
Podobnie jak serwer internetowy "Apache", "NGINX" jest również szeroko stosowany w Internecie. Aby stworzyć własną stronę błędu 416 Range Not Satisfiable w "NGINX", należy dokonać następującej zmiany w poniższym pliku.
location = /416.html {
root /usr/share/nginx/html;
internal;
}
Zgodność kodu statusu 416 z przeglądarką
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 |
Stałe w językach programowania
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