YSlow сообщает "нет срока годности" и "не кешируется" - PullRequest
1 голос
/ 29 марта 2011

У меня есть страница wep: http://uranussup.info. Я выполнил тест yslow.Существует много запросов (20), в которых говорится «Контент не кэшируется» и «Нет срока действия».Как я могу это исправить?

Ответы [ 2 ]

0 голосов
/ 09 января 2012

Это должно сделать это, но не уверен, что это "mod_expires.c" или "mod_expires.so" - в данный момент у меня не работает ни один.

<IfModule mod_expires.so>
  ExpiresActive On 
  ExpiresDefault "access plus 4 hours"
  ExpiresByType application/javascript "access plus 2 months"
  ExpiresByType application/javascript-x "access plus 2 months"
  ExpiresByType text/javascript "access plus 2 months"
  ExpiresByType image/jpg "access plus 2 month"
  ExpiresByType image/jpeg "access plus 2 month"
  ExpiresByType image/gif "access plus 2 month"
  ExpiresByType image/png "access plus 2 month"
  ExpiresByType text/css "access plus 2 months"
  ExpiresByType text/html "access plus 2 months"
  ExpiresByType text/xml "access plus 2 months"
  ExpiresByType text/plain "access plus 2 months"
  ExpiresByType image/x-icon "access plus 12 month"
  ExpiresByType image/icon "access plus 12 month"
  ExpiresByType application/x-ico "access plus 12 month"
  ExpiresByType application/ico "access plus 12 month"
</IfModule>
0 голосов
/ 29 марта 2011

Короткая версия

Вам необходимо настроить сервер таким образом, чтобы он обслуживал контент вашего сайта с различными HTTP-заголовками .

Длинная версия

От Yahoo! Рекомендации по ускорению работы вашего сайта :

Добавление заголовка Expires или Cache-Control

У этого правила есть два аспекта:

  • Для статических компонентов: внедрить политику «Никогда не истек», установив параметр будущее Expires заголовок
  • Для динамических компонентов: используйте соответствующий заголовок Cache-Control для помогите браузеру с условно запросы

Дизайн веб-страниц становится богаче и богаче, что означает больше сценариев, таблицы стилей, изображения и Flash в стр. В первый раз посетитель вашего страница может сделать несколько HTTP запросы, но с использованием Expires Заголовок вы делаете эти компоненты кэшируется. Это позволяет избежать ненужного HTTP-запросы на следующей странице Просмотры. Заголовки Expires чаще всего используется с изображениями, но они должны быть используется на всех компонентах, включая скрипты, таблицы стилей и Flash компоненты.

Браузеры (и прокси) используют кеш для уменьшить количество и размер HTTP запросы, загрузка веб-страниц Быстрее. Веб-сервер использует Expires заголовок в ответе HTTP, чтобы сказать клиент, как долго компонент может быть кэшируются. Это далекое будущее Истекает заголовок, сообщающий браузеру, что это ответ не будет устаревшим до апреля 15, 2010.

Expires: Thu, 15 Apr 2010 20:00:00 GMT

Если ваш сервер Apache, используйте Директива ExpiresDefault для установки срок годности относительно текущая дата. Этот пример Директива ExpiresDefault устанавливает Срок действия истекает через 10 лет время запроса.

ExpiresDefault "access plus 10 years"

Имейте в виду, если вы используете далекое будущее Заголовок истекает, вы должны изменить имя файла компонента всякий раз, когда изменения компонентов. В Yahoo! мы часто сделать этот шаг частью сборки процесс: номер версии встроен в имени файла компонента, для Например, yahoo_2.0.6.js.

Использование заголовка Expires далекого будущего влияет на просмотр страниц только после того, как пользователь уже посетил ваш сайт. Она имеет не влияет на количество HTTP запросы, когда пользователь посещает ваш сайт впервые и браузер кеш пуст Поэтому влияние этого улучшения производительности зависит от того, как часто пользователи бьют страницы с загрунтованным тайником. (А "загрунтован кеш "уже содержит все компоненты на странице.) Мы измерили это в Yahoo! и нашел количество просмотры страниц с заполненным кешем 75-85%. Используя далекое будущее Истекает заголовок, вы увеличиваете количество компоненты, которые кэшируются браузер и повторно используется на следующей странице просмотры без отправки одного байта через интернет-соединение пользователя.

...