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

13.1.1. Правильность кэширования

Правильный кэш ДОЛЖЕН ответить на запрос с самым современным ответом, хранившим кэшем, который является соответствующим запросу (см. разделы 13.2.5, 13.2.6, и 13.12), который удовлетворяет одному из следующих условий:

  1. Он был проверен для эквивалентности с тем, что сервер происхождения возвратит, повторно проверяя достоверность ответа с сервером происхождения (раздел 13.3);
  2. Он "достаточно нов" (см. раздел 13.2). В случае значения по умолчанию это означает, что он отвечает наименее ограничительному требованию свежести клиента, сервера, и кэша (см. раздел 14.9); если сервер происхождения так определяет, он — требование свежести сервера происхождения только.
  3. Он включает предупреждение, если запрос свежести клиента или сервера происхождения нарушен (см. раздел 13.1.5 и 14.45).
  4. Он — соответствующие 304 (Not Modified), 305 (Proxy Redirect), или ошибка (4xx или 5xx) ответное сообщение.

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

Если бы кэш получает ответ (или весь ответ, или 304 (Not Modified) ответ), что он обычно отправлял бы клиенту запроса, и полученный ответ больше не нов, кэш ДОЛЖЕН отправить его клиенту запроса, не добавляя новый Warning (но не удаляя существующих заголовков Warning). Кэш не ДОЛЖЕН попытаться повторно проверить достоверность ответа просто, потому что тот ответ стал устарелым в пути; это могло бы привести к бесконечному циклу. user agent, который получает устарелый ответ без Warning, МОЖЕТ отобразить индикацию предупреждения пользователю.

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