Кэширование определенных файлов Javascript и CSS - PullRequest
12 голосов
/ 24 сентября 2011

Как я могу кэшировать несколько конкретных файлов JavaScript и CSS. Я нашел совет с этого сайта, чтобы поместить это в мой .htaccess файл

AddOutputFilter DEFLATE css js
ExpiresActive On
ExpiresByType application/x-javascript A2592000

Но это неполно. Что такое .htaccess и как мне его создать, где хранить, в корневой веб-папке?

В чем смысл следующих утверждений:

AddOutputFilter DEFLATE css js
ExpiresActive On
ExpiresByType application/x-javascript A2592000

Я не хочу кэшировать все мои файлы Javascript и CSS, а всего лишь несколько конкретных файлов, которые никогда не изменятся.

Как я могу это сделать?

Ответы [ 3 ]

26 голосов
/ 25 сентября 2011

Вы можете настроить IIS для кэширования определенных файлов по расширению.Например:

Выберите папку, в которой находятся файлы css / js, и нажмите «Кэширование вывода».enter image description here

Затем добавьте расширения файлов, которые вы хотите кэшировать:

enter image description here

Я не думаю, что вы можете указать, какие из них следует кэшировать нафайловая основа, если вы не напишите модуль http handler для добавления соответствующих заголовков для каждого файла независимо, но из IIS это делается так.

Затем вы можете проверить, что получили 304 ответа, используя firebug / fiddler или ваш инструмент выбора.

Надеюсь, это полезно.

1 голос
/ 28 сентября 2011

Это круто, я бы в любом случае добавил ревизии файлов и сделал кэш IIS css + js файлы. Как уточнил Икар.

Затем, если вы обновите файлы на сервере, просто добавьте новый номер редакции, это также может быть отметка времени.

0 голосов
/ 25 сентября 2011
  1. AddOutputFilter DEFLATE: выходные данные сжимаются (обычно gzip) перед отправкой на сервер, в этом случае css & js ваши css и js.
  2. ExpiresActive On: Устанавливает Expires и заголовки управления кэшем в On
  3. ExpiresByType: установите правило истечения срока действия для типа содержимого в этом случае application/x-javascript на месяц A2592000 => 24 * 3600 * 30 в ms.

Я бы рекомендовал вместо обработкиДля конкретных js через .htaccess вы должны добавить номер ревизии в ваши js-файлы, аля:

<script src="link/to/file.js?rev=xxx"></script>

Затем, когда вы обновите свои файлы, просто обновите номер рев.И вашим клиентам будут автоматически предоставлены новые файлы.

Ресурсы:

...