2010-12-30 2 views
5

HTTP 1.1 представил новый класс заголовков, заголовки ответов Cache-Control, чтобы дать веб-издателям больше контроля над своим контентом и устранить ограничения Expires.HTTP-заголовки: достаточно ли Cache-Control, или мне еще нужны истечения срока?

Истекает - это вид боли из-за ее ограничений. Во-первых, поскольку существует абсолютная дата, часы на веб-сервере и кеш клиента должны быть синхронизированы; если у них есть другое представление о времени, ожидаемые результаты не будут достигнуты, и кеши могут ошибочно считать устаревший контент свежее.

Еще одна проблема с Expires заключается в том, что легко забыть о том, что срок действия определенного контента истекает в определенное время. Если вы не обновляете время истечения срока действия до его передачи, каждый запрос возвращается на ваш веб-сервер, увеличивая нагрузку и задержку.

Итак, нужно ли использовать Expires больше, или Cache-Control (в частности, max-age установлен на какое-то далекое будущее количество секунд) достаточно для моего статического контента? Я бы хотел избежать использования Expires, но должен ли я установить оба?

ответ

5

Вообще говоря, считается, что использовать оба варианта, как Expires, будут понятны даже прокси-серверы HTTP/1.0 и клиенты (редко, хотя они могут быть).

Практически все серверные платформы будут динамически вычислять заголовок Expires для вас.

+0

Я посмотрю, что я могу сделать с Amazon S3. И я полагаю, что установка заголовка Expires каждые несколько месяцев не является столь обременительной. – Rudiger