Истекает максимальное значение заголовка - PullRequest
5 голосов
/ 04 мая 2011

У меня есть несколько миллионов файлов изображений в хранилище S3 и Я знаю, что они никогда не изменятся .Чтобы оптимизировать запросы, я решил добавить в мои файлы заголовок expires (как описано здесь: правила скорости страницы Google )

Процесс добавления заголовков ко всем моим файлам является долгим и дорогимпоэтому я предпочел бы не повторять это.Однако Http Rfc рекомендует установить заголовок Expires с максимальной датой истечения в один год в будущем:

Серверы HTTP / 1.1 НЕ ДОЛЖНЫ отправлять даты Expires более чем на один год в будущем

... что означает, что мне придется обновлять заголовки через год.

Мой вопрос:

Могу ли я установить значения заголовковв очень далекую дату (например, 01-01-2020) и пойти против рекомендации RFC?Каков риск этого сделать?

Есть ли другое решение, чтобы сообщить клиентам, которые запрашивают мои файлы, для их кеширования на бесконечный срок без необходимости что-либо обновлять в моем хранилище amazon S3?

Ответы [ 2 ]

11 голосов
/ 05 апреля 2012

Вы также можете установить более современный заголовок:

Cache-Control: max-age=31536000, public

Каждый пользовательский агент при загрузке каждого изображения будет желать сохранять его в кэше в течение всего года, прежде чем запрашивать новую копию.(Большое целое число составляет 365 × 24 × 60 × 60 секунд.) Если есть еще браузеры, которые не понимают Cache-Control, они могут постепенно исчезнуть в течение срока службы ваших изображений!

1 голос
/ 04 мая 2011

Вы можете установить максимальные значения заголовка около 19 января 2038 года (макс. 32-битная временная метка). Это то, что Google некоторое время делал по истечении срока действия файлов cookie для отслеживания.

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

Кроме этого, я не вижу никакой потенциальной проблемы.

...