Различные руководства по оптимизации веб-сайтов показывают, что, если возможно, следует объединить несколько javascripts в один, чтобы уменьшить количество HTTP-запросов. С другой стороны, есть немного ортогональное предположение, что использование CDNS, аналогичного Google и Microsoft, будет разделять нагрузку, и браузер сможет загружать параллельно.Объединение javascripts против разделения CDNs
Я немного смущен, так как я должен объединить все javascripts, включая мои собственные, а также сторонние js как один файл javascript или оставить их отдельно (по крайней мере, для тех, которые доступны через свободные CDN)?
Непонятно также, что браузеры загружают несколько файлов javascrit параллельно или они ждут загрузки каждого javascript перед загрузкой других?
У меня есть сайт, который сильно использует javascript, и есть несколько библиотек, которые я использую (jquery, jquery-ui, jquery.json-2.3, jquery.metadata.js, jquery.jcarousel.min.js jquery. validate.js, jquery.blockUI.js).
Спасибо за быстрый ответ, но я вижу преимущество CDN только в том случае, если несколько javascripts загружаются параллельно браузером. Если браузер блокирует загрузку каждого javascripts, это может не помочь (предположим, что javascripts не кэшируются изначально). Более того, я вижу, что у различных CDNS есть много версий js-библиотек и аргумент о том, что существует вероятность того, что на каком-то другом сайте, использующем jquery, он уже кэшируется для вас, вероятно, недействителен. Что касается кэширования, если он загружает мой javascript, не будет ли он также кэшироваться для последующих страниц? – Divick
, чтобы ответить на ваш последний вопрос - да, для последующих запросов ваши файлы также будут кэшироваться браузером. Большинство CDN также предлагают возможность всегда ссылаться на последнюю версию (например, в cdn Google, если вы укажете «1» в качестве номера версии). Это помогает против аргумента в том, что могут быть разные версии кеширования - с использованием URL-адреса в последней версии вы увеличиваете вероятность ссылки на кешированную версию. Я бы очень рекомендовал использовать cdns, вы сохранили некоторый трафик, и ваши пользователи могли бы сэкономить некоторые запросы (со временем cdns получают ссылки гораздо чаще). –
и все же о блокировке - некоторые браузеры также поддерживают некоторый подход «угадывания», в котором они предполагают, что сценарий не влияет на dom и, следовательно, может быть загружен параллельно. даже без такого подхода, я все еще думаю, что вам лучше с cdn за лучшую смесь производительности, трафика и стабильности. –