416

Range Not Satisfiable

Официальный сайт
Запрашиваемые площади не могут быть предоставлены

Спецификация кода состояния HTTP 416

Код состояния 416 Range Not Satisfiable указывает, что ни один из диапазонов в поле заголовка Range запроса (раздел 3.1) не перекрывает текущую длину выбранного ресурса или что набор запрошенных диапазонов был отклонен из-за недопустимых диапазонов или чрезмерного запроса маленьких или перекрывающихся диапазонов.

Для байтовых диапазонов невозможность перекрыть текущую длину означает, что первые байтовые позиции всех значений byte-range-spec были больше текущей длины выбранного представления. Когда этот код состояния генерируется в ответ на запрос диапазона байтов, отправитель ДОЛЖЕН генерировать поле заголовка Content-Range, указывающее текущую длину выбранного представления (Раздел 4.2).

Например:

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

Примечание: Поскольку серверы могут игнорировать Range, многие реализации будут просто отвечать всем выбранным представлением в ответе 200 (OK). Отчасти это связано с тем, что большинство клиентов готовы получить 200 (OK) для завершения задачи (хотя и менее эффективно), а отчасти с тем, что клиенты могут не прекратить делать некорректный частичный запрос, пока не получат полное представление. Таким образом, клиенты не могут рассчитывать на получение ответа 416 Range Not Satisfiable, даже когда это наиболее целесообразно.

Источник / Цитаты из: Код состояния HTTP 416 Range Not Satisfiable определен разделом 4.4 из RFC7233.

Как вывести код состояния 416 с помощью PHP?

Чтобы бросить на веб-страницу код статуса HTTP 416, можно использовать PHP-функцию http_response_code. Синтаксис выглядит следующим образом: http_response_code(416) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Проверка кода состояния 416 HTTP

Чтобы иметь возможность отображать код состояния HTTP (в данном случае 416 Range Not Satisfiable) и другую информацию на стороне клиента, необходимо открыть консоль разработки с помощью F12. Затем перейдите на вкладку "Сеть". Теперь можно открыть страницу, сайт (пример index.php) должен быть виден на вкладке "Сеть". Его необходимо выбрать, а затем выбрать раздел Herder. После этого пользователь увидит следующий результат:

Код состояния 416 Range Not Satisfiable
Обзор
URL: https://http-statuscode.com/errorCodeExample.php?code=416
Статус: 416 Range Not Satisfiable
Эти: Network
IP-адрес: XX.XX.XX.XX
Код состояния 416 Range Not Satisfiable

Как создать собственную страницу ошибок для кода состояния 416

Создать собственную страницу ошибки 416 Range Not Satisfiable относительно просто как на веб-серверах "Apache", так и на "NGINX".

Apache Webserver

Веб-сервер "Apache" является одним из самых распространенных веб-серверов в Интернете. Чтобы создать собственную страницу ошибки 416 Range Not Satisfiable в "Apache", необходимо внести следующее изменение в следующий файл.

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

NGINX Webserver

Подобно веб-серверу "Apache", "NGINX" также широко используется в Интернете. Чтобы создать собственную страницу ошибки 416 Range Not Satisfiable в "NGINX", необходимо внести следующее изменение в следующий файл.

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

Совместимость кода состояния 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

Константы в языках программирования

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

Внешние ссылки с дополнительной информацией о коде состояния HTTP 416:

Развлекательные мемы о коде статуса HTTP 416

Автор: Tony Brüser
Автор: Tony Brüser

Тони Брюсер - увлеченный веб-разработчик, склонный к изучению кодов состояния HTTP.

LinkedInGitHub