yslow все еще не дает мне заголовок A для срока действия в Apache httpd, хотя я их добавил
-
21-08-2019 - |
Вопрос
пытаюсь добавить ExpiresDefault ExpiresByType к контенту на моем веб-сайте, чтобы он кэшировался.Я использую очистку кеша в URL-адресе (номер версии в пути) для Javascript, CSS и изображений, чтобы можно было установить его навсегда для этих типов mimetypes.У меня есть следующие правила, настроенные в Apache httpd:
ExpiresActive On
ExpiresDefault "access plus 1 minutes"
ExpiresByType image/gif "access plus 10 years"
ExpiresByType image/png "access plus 10 years"
ExpiresByType image/jpeg "access plus 10 years"
ExpiresByType image/jpg "access plus 10 years"
ExpiresByType text/javascript "access plus 10 years"
ExpiresByType text/css "access plus 10 years"
Затем, когда я захожу на свой сайт http://karmerd.com и используйте заголовки httplive для просмотра заголовков. Я получаю то, что, по моему мнению, должно быть правильным Expires для css:Срок действия истекает:Вс, 03 фев 2019 17:52:48 GMT
Но я использую расширение Yahoo Yslow Firebug, и оно все равно ставит мне пятерку за то, что я не использую Expires!Я делаю что-то неправильно?Я также использую граватары на своем сайте, но у них установлен срок действия.Похоже, у всего есть срок годности.Это Ислоу или я?
Решение
Ваши файлы JavaScript отправляются как application/x-javascript
, поэтому не получим заголовок Expires в далеком будущем.
Другие советы
Не полагайтесь на этот инструмент, чтобы судить, работает ли ваш сайт быстро или нет.Я заставлял его делать много необычных вещей (как и yui) - и если он выдает ложное срабатывание, ваш сайт работает нормально, и никто не жалуется на скорость - скорее всего, у вас нет проблем со скоростью.Лучший способ узнать, кэшируются ли что-то, — это наблюдать за запросами в Firebug или другом инструменте по мере их поступления. Если вы не запрашиваете их и не получаете, значит, срок их действия еще не истек.