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

14.9.3. Модификации основного механизма устаревания

Время expiration объекта может быть указано сервером происхождения, используя заголовок Expires (см. раздел 14.21). Альтернативно, он может быть указан, используя директиву max-age в ответе.

Если ответ включает и заголовок Expires и директиву max-age, директива max-age отменяет заголовок Expires, даже если заголовок Expires является более ограничительным. Это правило позволяет серверу происхождения предоставлять, для данного ответа, более длинное время expiration к HTTP/1.1 (или позже) кэш чем к HTTP/1.0 кэш. Это может быть полезно, если определенный HTTP/1.0 кэши ненадлежащим образом вычисляет возрасты или времена expiration, возможно из-за десинхронизируемых часов.

Обратите внимание: Большинство старших кэшей, не совместимых с этой спецификацией, не реализует директив Cache-Control. Сервер происхождения, желающий использовать директиву Cache-Control, которая ограничивает, но не предотвращает, кэшируя HTTP/1.1-compliant, кэширует, может использовать требование, чтобы директива max-age отменила заголовок Expires, и факт, что non-HTTP/1.1-compliant кэши не наблюдают директиву max-age.

Другие директивы позволяют user agent изменять основной механизм expiration. Эти директивы могут быть указаны на запросе:

  • max-age
  • Указывает, что клиент желает принять ответ, возраст которого не больше чем указанное время мгновенно. Если директива max-stale также не включена, клиент не желает принять устарелый ответ.
  • min-fresh
  • Указывает, что клиент желает принять ответ, время существования свежести которого — не меньше чем его текущий возраст плюс указанное время мгновенно. Таким образом, клиент хочет ответ, который все еще будет нов для по крайней мере указанного числа секунд.
  • max-stale
  • Указывает, что клиент желает принять ответ, который превысил его время expiration. Если max-stale назначен значение, то клиент желает принять ответ, который превысил его время expiration не больше, чем указанным числом секунд. Если никакое значение не назначено max-stale, то клиент желает принять устарелый ответ любого возраста.

Если кэш возвращает устарелый ответ, или из-за директивы max-stale по запросу, или потому что кэш конфигурирован, чтобы отменить время expiration ответа, кэш ДОЛЖЕН прикрепить заголовок Warning к устарелому ответу, используя Warning 10 (Ответ является устарелым).

2007 - 2017 © Русские переводы RFC, IETF, ISOC.