416 Range Not Satisfiable и как избавиться от ошибки в Apache2


Сообщения 416 Range Not Satisfiable можно увидеть в логах доступа веб-сервера Apache2 или в консоли разработчика браузера. Из-за ошибки может не подгружаться какой-то контент. Чаще всего ошибка сопровождает неработающее видео в встроенное в html5.



Код ответа HTTP 416 Range Not Satisfiable


Код ответа HTTP 416 Range Not Satisfiable указывает, что сервер не может обслуживать запрошенные диапазоны.

Заголовок Range передается когда контент запрашивается в одном запросе, сервер при этом может отдать данные в нескольких ответах или в множестве ответов. В заголовке Range передаётся последовательность байт из которых состоит документ.



Пример значения заголовка из документации:

Range: bytes=200-1000, 2000-6576, 19000-


HTTP код ответа 416 говорит о том, что такая передача данных невозможна.



Увидеть ошибку можно в браузере нажав F12 и обновив страницу.

416  Range Not Satisfiable


В примере все выполненные запросы при открытии страницы завершились кодом 200 ОК. В случае ошибки один или блольше запросов будут иметь код 416.



Как устранить ошибку если на сервере используется Apache


Если код ответа отдается веб сервером Apache проблема решается обычно добавлением в файл .htaccess в корне сайта таких директив

Header set Accept-Ranges none
RequestHeader unset Range



Они устанавливают заголовок в значение None. Ошибка возникать после этого перестает.



Использование файлов .hatccess должно быть включено на сервере. Можно добавлять правила в .htaccess на уровнях выше уровня корня сайта если для них в конфигурации сервера добавлена директива AllowOverride разрешающая обработку .htaccess.

Подробнее про AllowOverride можно прочитать в материале по ссылке



Читайте про редиректы при использовании Apache

Сказать спасибо