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