RFC: 2068
Оригинал: Hypertext Transfer Protocol - HTTP/1.1
Другие версии: RFC 2616
Категория: Предложенный стандарт
Дата публикации:
Авторы: , , , ,
Перевод: Алексей Симонов

14.45. Warning

Поле заголовка ответа Warning используется, чтобы нести дополнительную информацию о состоянии ответа, который не может быть отражен кодом состояния ответа. Эта информация обычно, хотя не исключительно, используется, чтобы предупредить о возможной нехватке семантической прозрачности от кэширования операций.

Заголовки Warning отправляют с ответами, используя:

Warning    = "Warning" ":" 1#warning-value

warning-value = warn-code SP warn-agent SP warn-text
warn-code  = 2DIGIT
warn-agent = ( host [ ":" port ] ) | pseudonym
                ; the name or pseudonym of the server adding
                ; the Warning header, for use in debugging
warn-text  = quoted-string

Ответ может нести больше чем один заголовок Warning.

Предупреждать — текст должен быть на естественном языке и наборе символов, который, наиболее вероятно, будет понятен человеческому пользователю, получающему ответ. Это решение может быть основано на любом доступном знании, например, местоположении кэша или пользователя, поля Accept-Language в запросе, поля Content-Language в ответе, и т.д. Язык значения по умолчанию является английским, и набор символов значения по умолчанию — ISO8859-1.

Если набор символов кроме ISO-8859-1 используется, он ДОЛЖЕН быть закодирован в том, чтобы предупреждать — текст, используя метод, описанный в RFC 1522 [14].

Любой сервер или кэш могут добавить заголовки Warning к ответу. Новые заголовки Warning должны быть добавлены после любых существующих заголовков Warning. Кэш не ДОЛЖЕН удалить заголовок Warning, который он получил с ответом. Однако, если кэш успешно проверяет достоверность элемента кэша, он ДОЛЖЕН удалить любые заголовки Warning, ранее приложенные к тому элементу кроме как определено для специфичных кодов Warning. Он ДОЛЖЕН тогда добавить любые заголовки Warning, полученные в ответе проверки достоверности. Другими словами, заголовки Warning — те, которые были бы присоединены к новому релевантному ответу.

Когда множественные заголовки Warning присоединены к ответу, user agent ДОЛЖЕН отобразить так многих из них насколько возможно, в порядке, что они появляются в ответе. Если он не возможен отобразить все предупреждения, user agent должен следовать за этой эвристикой:

  • Предупреждения, которые появляются ранними в ответе, берут приоритет над теми, которые появляются позже в ответе.
  • Предупреждения в предпочтительном наборе символов пользователя берут приоритет над предупреждениями в других наборах символов, но с идентичными предупре-кодами и предупре-агентами.

Системы, которые генерируют множественные заголовки Warning, должны заказать им с этим поведением user agent в уме.

Это — список определенных в настоящий момент предупре-кодов, каждый с рекомендуемым предупреждает — текст на английском языке, и описание его значения.

  • 10 Ответов являются устарелыми
  • ДОЛЖЕН быть включен всякий раз, когда возвращенный ответ устарелый. Кэш может добавить это предупреждение любому ответу, но никогда, возможно, не удаляет его, пока ответ, как не известно, нов.
  • 11 Приданий вновь юридической силы терпели неудачу
  • ДОЛЖЕН быть включен, если кэш возвращает устарелый ответ, потому что попытка повторно проверить достоверность ответа терпела неудачу, из-за неспособности достигнуть сервера. Кэш может добавить это предупреждение любому ответу, но никогда, возможно, не удаляет его, пока ответ успешно не повторно утвержден.
  • 12 операций Disconnected
  • ДОЛЖЕН быть включен, если кэш преднамеренно разъединен от остальной части сети сроком на время.
  • 13 Эвристики expiration
  • ДОЛЖЕН быть включен, если бы кэш heuristically выбрал больше время существования свежести, чем 24 часа и возраст ответа больше чем 24 часа.
  • 14 Трансформаций применялись
  • ДОЛЖЕН быть добавлен промежуточным кэшем или прокси, если он применяет какую-нибудь трансформацию, изменяющую content-coding (столь же указанный в заголовке Content-Encoding) или media-type (как определено в заголовке Content-Type) ответа, если этот код Warning уже не появляется в ответе. Не ДОЛЖЕН быть удален из ответа даже после придания вновь юридической силы.
  • 99 Разных предупреждений
  • Текст предупреждения может включить произвольную информацию, которая будет представлена человеческому пользователю, или регистрирована. Система, получающая это предупреждение, не ДОЛЖНА предпринять автоматизированное действие.
2007 - 2017 © Русские переводы RFC, IETF, ISOC.