Как установить заголовки истечения для CSS, JS и изображений?

Недавно я проанализировал свой сайт с приложением pagespeed на firebug. Он предложил мне установить срок действия на CSS, JS и файлы изображений.

Мне интересно, как это сделать?

36 голосов | спросил KoolKabin 10 32010vEurope/Moscow11bEurope/MoscowWed, 10 Nov 2010 08:43:47 +0300 2010, 08:43:47

4 ответа


36

Обновите конфигурацию Apache, чтобы включить директивы ниже как часть конфигурации ядра :

#
# ассоциировать .js с типом text /javascript (если не присутствует в mime.conf)
#
Текст AddType /javascript .js

#
# configure mod_expires
#
# URL: http://httpd.apache.org/docs/2.2/mod/mod_expires.html
#
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "доступ плюс 1 секунда"
    ExpiresByType image /x-icon "доступ плюс 2692000 секунд"
    ExpiresByType image /jpeg "доступ плюс 2692000 секунд"
    ExpiresByType image /png "доступ плюс 2692000 секунд"
    ExpiresByType image /gif "доступ плюс 2692000 секунд"
    ExpiresByType application /x-shockwave-flash "доступ плюс 2692000 секунд"
    ExpiresByType text /css "доступ плюс 2692000 секунд"
    ExpiresByType text /javascript "доступ плюс 2692000 секунд"
    ExpiresByType application /x-javascript "доступ плюс 2692000 секунд"
    ExpiresByType text /html «доступ плюс 600 секунд»
    ExpiresByType application /xhtml + xml "доступ плюс 600 секунд"
& Lt; /IfModule >

#
# настроить mod_headers
#
# URL: http://httpd.apache.org/docs/2.2/mod/mod_headers.html
#
<IfModule mod_headers.c>
    <FilesMatch "\\. (ico | jpe? g | png | gif | swf | css | js) $">
        Набор заголовков Cache-Control "max-age = 2692000, public"
    & Lt; /FilesMatch >
    <FilesMatch "\\. (x? html? | php) $">
        Header set Cache-Control "max-age = 600, private, must-revalidate"
    & Lt; /FilesMatch >
    Заголовок отключен ETag
    Заголовок отключен Последнее изменение
& Lt; /IfModule >
ответил John Conde 10 32010vEurope/Moscow11bEurope/MoscowWed, 10 Nov 2010 17:17:16 +0300 2010, 17:17:16
14

Вы можете поместить это в свой htaccess:

<FilesMatch "(? i) ^. * \. (ico | flv | jpg | jpeg | png | gif | js | css) $">
ExpiresActive On
ExpiresDefault A2592000
& Lt; /FilesMatch >

Он будет нацеливать файлы с этими расширениями (ico, flv, jpg и т. д.) и установить заголовок Expires для доступа (A) плюс 30 дней (2592000 секунд). Вы также можете добавить это на уровне сервера, если у вас есть доступ к этому.

ответил DisgruntledGoat 10 32010vEurope/Moscow11bEurope/MoscowWed, 10 Nov 2010 14:16:40 +0300 2010, 14:16:40
2

Это зависит от хоста и того, как вы это делаете. Вариант 1), если вы управляете сервером, сделайте apache для добавления заголовков истечения в ответ Вариант 2), если вы не управляете веб-сервером или сервером images /js /css /etc, вы можете установить эти заголовки из сценария, который их обслуживает.

Имейте в виду, что эти рекомендации рекомендуются, но не абсолютная истина. Это больше, чтобы сэкономить вам пропускную способность, чем ускорить работу вашего сайта. Поэтому, если у вас низкий трафик на ваш сайт, не слишком беспокоитесь об этом.

ответил Ilian Iliev 10 32010vEurope/Moscow11bEurope/MoscowWed, 10 Nov 2010 10:49:54 +0300 2010, 10:49:54
2

Настройка истекает через веб-сервер Lightspeed

Войдите в консоль администратора, затем> Server-> General> Истекает Настройки-> Истекает по типу

Добавьте следующее:

text /css = A604800, text /javascript = A604800, application /javascript = A604800, application /x-javascript = A604800, application /x-shockwave-flash = A604800, image /gif = A604800, image /jpg = A604800, изображение /jpeg = A604800, изображение /png = A604800, изображение /ico = A604800, изображение /значок = A604800

604800 - это секунды истечения срока действия, который должен соответствовать вашим потребностям с момента его 168 часов, который составляет 7 дней. Кроме того, Light Speed ​​Server использует htaccess, который необходимо добавить в следующую строку:

ExpiresActive On

Альтернативно, если у вас нет доступа к консоли администратора, попробуйте выполнить следующий файл .htaccess:

ExpiresByType image /png A604800
  ExpiresByType image /gif A604800
  ExpiresByType image /jpg A604800
  ExpiresByType image /jpeg A604800
  ExpiresByType text /javascript A604800
  Приложение ExpiresByType /x-javascript A604800
  ExpiresByType text /css A604800
ответил Simon Hayter 27 MarpmWed, 27 Mar 2013 16:19:27 +04002013-03-27T16:19:27+04:0004 2013, 16:19:27

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132