Назад | Перейти на главную страницу

If-Modified-Since vs. If-None-Match

Обычный условный запрос браузера выглядит так:

ПОЛУЧИТЬ /i/yahoo.gif

HTTP / 1.1 Хост: us.yimg.com

If-Modified-Since: Вт, 12 декабря 2006 г., 03:03:59 GMT

Если-None-Match: "10c24bc-4ab-457e1c1f" HTTP / 1.1

Но какова связь между If-Modified-Since и If-None-Match. ИЛИ? И? Значит, если какой-то из них «выйдет из строя», будет отправлена ​​новая версия?

http://www.ietf.org/rfc/rfc2616.txt

13.3.4 Правила использования тегов объектов и дат последнего изменения

  • Исходный сервер HTTP / 1.1 после получения условного запроса, который включает дату Last-Modified (например, в поле заголовка If-Modified-Since или If-Unmodified-Since) и один или несколько тегов объекта (например, в Поле заголовка If-Match, If-None-Match или If-Range) в качестве валидаторов кеша НЕ ДОЛЖНО возвращать статус ответа 304 (Not Modified), если это не согласуется со всеми полями условного заголовка в запросе.

  • Кэширующий прокси-сервер HTTP / 1.1 после получения условного запроса, который включает дату последнего изменения и один или несколько тегов объекта в качестве валидаторов кеша, НЕ ДОЛЖЕН возвращать клиенту локально кэшированный ответ, если этот кешированный ответ не согласуется со всеми поля условного заголовка в запросе.

    • Примечание. Общий принцип этих правил заключается в том, что серверы и клиенты HTTP / 1.1 должны передавать столько неизбыточной информации, сколько доступно в их ответах и ​​запросах. Системы HTTP / 1.1, получающие эту информацию, будут делать самые консервативные предположения о валидаторах, которые они получают.