Правильный метод кэширования с.htaccess [дубликат]


Возможный Дубликат:
. htaccess и кэширование браузера

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

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresDefault "access 2 days"
</IfModule>

Я также нашел нечто подобное, но с ключевым словом "плюс". Вот так:

ExpiresByType image/png "access plus 2592000 seconds"

Что это значит, потому что я ничего не нашел в документации.

Еще один фрагмент, который я нашел:

<ifModule mod_headers.c>
  <filesMatch "\.(ico|jpe?g|png|gif|swf)$">
    Header set Cache-Control "max-age=2592000, public"
  </filesMatch>
  <filesMatch "\.(css)$">
    Header set Cache-Control "max-age=604800, public"
  </filesMatch>
  <filesMatch "\.(js)$">
    Header set Cache-Control "max-age=216000, private"
  </filesMatch>
  <filesMatch "\.(x?html?|php)$">
    Header set Cache-Control "max-age=600, private, must-revalidate"
  </filesMatch>
</ifModule>

Какова наилучшая практика?

 4
Author: Community, 2012-06-07

1 answers

Что касается первого фрагмента, вам следует избегать использования строки ExpiresDefault, так как это также приведет к кэшированию всех ваших страниц, которые вам, вероятно, не нужны.

Ключевое слово "плюс", которое вы упомянули, является необязательным, подробности см. в документах Apache. Таким образом, этот фрагмент такой же, как и первый, но со временем истечения в секундах, а не в днях.

Окончательный фрагмент представляет собой другой метод кэширования, но который в основном дает тот же результат. Некоторые ресурсы предполагают, что управление кэшем лучше, чем Истекает, я думаю, потому, что он играет более дружелюбно с прокси-серверами. Я не уверен, почему строка для Javascript устанавливает для нее значение private, так как это равнозначно допустимому значению public.

 1
Author: DisgruntledGoat, 2012-06-09 11:25:52