Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Ошибка на странице


Автор: zammar 13.12.2011, 16:04
Клиент жалуется на такую ошибку:
Код

Requested Range Not Satisfiable

None of the range-specifier values in the Range request-header field overlap the current extent of the selected resource.


Мне бы хотелось понять о каком диапазоне значений (диапазоне значений чего) идет речь в тексте ошибки?
Речь идет о заголовках, но какой конкретно не понравился как узнать?

Автор: zammar 14.12.2011, 09:43
Нашел (Как это ужасно когда одно и то же описание расположено чуть ли не во всем интернете. 
А вот такие статейки, которые дают полное понимание вопроса, редкость. НЕ КОПИРУЙТЕ КОНТЕНТ!):

Код

416 Requested Range Not Satisfiable - в переводе с английского языка на русский язык, означает, запрашиваемый диапазон 
недосягаем. Имеется в виду размерность байтового диапазона. В данном случае, если клиентской стороной в поле Range заголовка
 запроса указывается диапазон, выходящий за пределы ресурса, и дополнительно отсутствуют значения поля If-Range, серверной 
стороной возвращается код состояния 416. В случае передачи клиентской стороной байтового диапазона, возможно возвращение
 серверной стороной реального размера байт посредством поля Content-Range заголовка сообщения.



Код

Если клиент имеет частичную копию объекта в своем кэше и хочет иметь полную свежую копию объекта, он может использовать
 заголовок запроса Range с условным GET (используя If-Unmodified-Since и/или If-Match.) Однако если условие не выполняется, из-за 
того, что объект был модифицирован, клиенту следует послать второй запрос, чтобы получить все текущее содержимое тела 
объекта.


Заголовок If-Range позволяет клиенту заблокировать второй запрос. По существу это означает, что "если объект не изменился,
 следует посылать мне часть, которой у меня нет, в противном случае пришлите мене всю новую версию объекта".

If-Range = "If-Range" ":" ( entity-tag | HTTP-date )

Если клиент не имеет метки объекта, но имеет дату Last-Modified, он может использовать эту дату в заголовке If-Range. Сервер 
может отличить корректную дату HTTP от любой формы метки объекта, рассмотрев не более двух символов. Заголовок If-Range 
следует использовать только совместно с заголовком Range, и его следует игнорировать, если запрос не содержит в себе этот 
заголовок, или если сервер не поддерживает операции с фрагментами.


Если метка объекта, представленная в заголовке If-Range, соответствует текущей метке, тогда сервер должен обеспечить 
специфицированный фрагмент объекта, используя отклик 206 (Partial content). Если метка объекта не подходит, сервер должен 
прислать полный объект со статусным кодом 200 (OK).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)