206

Partial Content

Официальный сайт
запрошенная часть ресурса была передана. Запрос был успешным.

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

Код состояния 206 Partial Content указывает, что сервер успешно выполняет запрос диапазона для целевого ресурса, передавая одну или несколько частей выбранного представления, которые соответствуют удовлетворяющим диапазонам, найденным в поле заголовка Range запроса (Раздел 3.1).

Если передается одна часть, сервер, генерирующий ответ 206 Partial Content, ДОЛЖЕН генерировать поле заголовка Content-Range, описывающее, какой диапазон выбранного представления заключен, и полезную нагрузку, состоящую из этого диапазона. Например:

HTTP/1.1 206 Partial Content Partial Content
Date: Wed, 15 Nov 1995 06:25:24 GMT
Last-Modified: Wed, 15 Nov 1995 04:58:08 GMT
Content-Range: bytes 21010-47021/47022
Content-Length: 26012
Content-Type: image/gif

.... 26012 байт частичных данных изображения ...

Если передается несколько частей, сервер, генерирующий ответ 206 Partial Content, ДОЛЖЕН создать полезную нагрузку "multipart/byteranges", как определено в Приложении A, и поле заголовка Content-Type, содержащее тип мультимедиа multipart/byteranges и его требуемый граничный параметр. Чтобы избежать путаницы с одночастными ответами, сервер НЕ ДОЛЖЕН генерировать поле заголовка Content-Range в разделе заголовка HTTP ответа, состоящего из нескольких частей (это поле будет отправлено в каждой части).

В области заголовка каждой части тела в многочастном ответе сервер ДОЛЖЕН генерировать поле заголовка Content-Range, соответствующее диапазону, заключенному в этой части тела. Если выбранное представление имело бы поле заголовка Content-Type в ответе 200 (OK), сервер ДОЛЖЕН сгенерировать такое же поле Content-Type в области заголовка каждой части тела.

Например:

HTTP/1.1 206 Partial Content Partial Content
Date: Wed, 15 Nov 1995 06:25:24 GMT
Last-Modified: Wed, 15 Nov 1995 04:58:08 GMT
Content-Length: 1741
Content-Type: multipart/byteranges; border=THIS_STRING_SEPARATES


--THIS_STRING_SEPARATES
Content-Type: application/pdf
Content-Range: bytes 500-999/8000


...первый диапазон....
--THIS_STRING_SEPARATES
Content-Type: application/pdf
Content-Range: bytes 7000-7999/8000


...второй диапазон
--THIS_STRING_SEPARATES--

Когда запрашивается несколько диапазонов, сервер МОЖЕТ объединить все диапазоны, которые перекрываются или разделены промежутком, который меньше, чем накладные расходы на отправку нескольких частей, независимо от порядка, в котором соответствующие спецификации диапазонов байтов появились в полученном поле заголовка Range. Поскольку типичные накладные расходы между частями полезной нагрузки multipart/byteranges составляют около 80 байт, в зависимости от типа носителя выбранного представления и выбранной длины граничного параметра, передача множества небольших несовпадающих частей может быть менее эффективной, чем передача всего выбранного представления.

Сервер НЕ ДОЛЖЕН генерировать ответ из нескольких частей на запрос одного диапазона, поскольку клиент, который не запрашивает несколько частей, может не поддерживать ответы из нескольких частей. Однако сервер МОЖЕТ генерировать полезную нагрузку multipart/byteranges только с одной частью тела, если было запрошено несколько диапазонов и только один диапазон был признан удовлетворяющим или только один диапазон остался после объединения. Клиент, который не может обработать ответ multipart/byteranges, НЕ ДОЛЖЕН генерировать запрос, запрашивающий несколько диапазонов.

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

Источник / Цитаты из: Код состояния HTTP 206 Partial Content определен разделом 4.1 из RFC7233.

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

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

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

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

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

Совместимость кода состояния 206 с браузерами

Chrome Yes
Edge Yes
Firefox Yes
Opera Yes
Safari Yes
Chrome Android Yes
Firefox for Android Yes
Opera Android Yes
Safari on iOS Yes
Internet Yes
WebView Android Yes

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

http.StatusPartialContent
Response::HTTP_PARTIAL_CONTENT
:partial_content

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

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

Статьи в блогах

SEO и коды состояния HTTP: Всесторонний анализ

Оптимизация сайта для поисковых систем (SEO) - сложная задача. Одним из часто упускаемых из виду, но крайне важных для ранжирования аспектов являются коды статуса HTTP. Эти небольшие трехзначные ко...

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

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

LinkedInGitHub