В настоящее время я работаю над большим сайтом, который имеет немалый технический долг, который нам нужно уйти. На сайте загружается довольно много js и css. В настоящее время файлы агрегируются и минимизируются в слоях. Один слой используется на каждой странице, а остальные слои загружаются только на страницы, которые их используют.Оптимизация ресурсов Frontend: запросы против кэширования
Например:
page 1:
- default.css
- page1.css
- some-feature.css
- default.js
- page1.js
- some-feature.js
page 2:
- default.css
- page2.css
- default.js
- page2.js
page 3:
- default.css
- page3.css
- some-feature.css
- some-other-feature.css
- default.js
- page3.js
- some-feature.js
- some-other-feature.js
Теперь, помимо этих ресурсов есть много внешних ресурсов загружены, а также, используется для отслеживания, рекламы, социальной интеграции и т.д.
У меня есть ощущение, что они ресурсы будут обслуживаться быстрее (как на начальном, так и на последующих запросах), если они были агрегированы и уменьшены в одном js и одном файле css на странице. Например, page1.css + page1.js
, а на другой странице будет page2.css + page2.js
. Хотя это приведет к меньшему количеству запросов, это также приведет к загрузке некоторого общего содержимого в два раза (например, оригинал default.css
)
Каким будет предпочтительный способ загрузки этих ресурсов? И есть ли у вас какие-либо результаты теста?
Если вы уже загрузили определенный URL-адрес и он кэширован, он не будет повторно выбран. используйте долгосрочное истечение срока действия, если ваш сервер все еще дает статические активы 304s. после установки с будущей датой последующие запросы выполняются на 100% локально, что быстрее, чем связывание и распаковка ненужных ресурсов. – dandavis