Ответ 1
Вы можете использовать заголовок Expires
совместно, но независимо от двух других. Он универсально поддерживается прокси-серверами и кешами браузера.
Разница между отметками ETag
и Last-Modified
больше семантична. ETags непрозрачны для клиентов. Обычно это контрольная сумма. В то время как заголовок Last-Modified может интерпретироваться клиентами. Он понял, что последняя измененная метка времени работает линейно.
Если браузер запрашивает ресурс с If-Unmodified-Since
, тогда такой диапазон может совпадать с широким диапазоном временных меток. Если ваши страницы часто меняются, тогда может быть полезно временная метка Last-Modified.
Подход ETag, с другой стороны, приводит к клиентам, которые сохраняют один последний отпечаток на ресурс. (Я не уверен, что кеши браузера запоминают несколько ETags). По запросам перечислены только один или несколько возможных токенов If-None-Match
. Это может означать больше промахов. Кроме того, вам нужно сравнить несколько контрольных сумм, тогда как с временной отметкой Last-Modified вы можете провести арифметическое сравнение.
Настоящим преимуществом ETags является то, что вы можете надежно сравнить отпечатки пальцев. Временные метки Last-Modified немного более расплывчаты, поскольку они не проверяют, изменилось ли фактическое содержимое страницы.
См. также: