YSlow говорит, что мой файл JavaScript больше не кэшируется после объединения 5 файлов и их упаковки
Я начал с 5 обычных файлов JavaScript, удобочитаемых человеком - их общий объем составлял около 10 КБ.
После использования YSlow я решил объединить 5 файлов и упаковать их с помощью упаковщика Дина Эдвардса. Теперь у меня есть 1 файл, который составляет 4,5 КБ.
Когда я перезапускаю YSlow, он теперь показывает файл JavaScript в загрунтованном кеше в разделе "статистика", где ранее (когда у меня были отдельные файлы) 5 файлов были бы кэшированы.
Теперь у меня на 4 HTTP-запроса меньше, но общий вес страницы для заполненного кэша увеличился на 4,5 КБ.
Я делаю что-то неправильно?
Я все еще планирую поместить в мою папку JavaScript заголовок даты истечения срока действия, так что эта проблема, вероятно, исчезнет, но мне все еще интересно знать, почему он не будет кэшировать файлы JavaScript.
2 ответа
Я не думаю, что вы делаете что-то не так, вы следуете всем основным рекомендациям.
Когда вы загружаете что-то с веб-сервера, который не имеет expires
установить правильно, что, как я полагаю, имеет место, поскольку вы хотите это исправить, заполненный кэш всегда будет выше, потому что YSlow считает, что браузер должен загрузить его, даже если он кэшировал все.
Это связано с тем, что срок действия кэша истекает при его загрузке, поскольку заголовок Expires отсутствует. Обновление ваших истечений, чтобы иметь долгую жизнь истекает, определенно решит вашу проблему.
Прочтите эту статью. Здесь они показывают, как перезагрузить кеш после обновления ваших файлов.