Задать срок действия кэша в месяцах или годах для статических файлов (изображений и т. Д.), Необходимо? - PullRequest
1 голос
/ 17 сентября 2011

1.Я устанавливаю срок действия кэша для изображений на моем сервере, используя некоторый код .htaccess. Дело в том, что когда я проверял срок действия кэша изображений на некоторых популярных веб-сайтах, он в основном составляет от 31536000 (1 year) до 15552000 (180 days)5184000 (60 days).Заголовок истечения срока действия кэша используется для того, чтобы указать браузеру на определенный период хранения статических файлов в кеше, верно?Тогда WTH ?!Почему эти сайты устанавливают такой длительный срок действия?Я что-то здесь упускаю?

2.Кроме того, что из перечисленного ниже (коды .htaccess) лучше по вашему мнению?

<FilesMatch "\.(ico|jpg|jpeg|png|gif|swf|pdf)$">
ExpiresDefault A0
Header set Cache-Control "max-age=5184000,  public, must-revalidate, proxy-revalidate"
</FilesMatch>

<--- ИЛИ --->

# Expire images header
ExpiresActive On
ExpiresDefault A0
ExpiresByType image/gif A5184000
ExpiresByType image/png A5184000
ExpiresByType image/jpg A5184000
ExpiresByType image/jpeg A5184000
ExpiresByType image/ico A5184000
ExpiresByType image/swf A5184000
ExpiresByType image/pdf A5184000

РЕДАКТИРОВАТЬ: 3. Как установить заголовки expiry для внешних файлов? например, js и css файлы из внешних источников?(у многих нет установленного срока действия кэша, я проверил)

Ищем грамотный ответ.Спасибо.

1 Ответ

0 голосов
/ 06 октября 2011

Я не уверен, что могу точно ответить на ваш вопрос, но эта ссылка описывает, что вы ищете.

Вы можете установить контроль кэша во втором примере также для файлов js и css.Согласно ответу второй формат лучше, потому что он не зависит от расширения файла, и другие вещи, объясненные в статье.

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

...