Потоковая jquery (JS файлы) из CDN (Google)
Это случай, когда вы не делаете домашнее задание.:-)
Помимо преимуществ динамической загрузки, имеет ли смысл включать библиотеку JavaScript (jQuery в моем случае) с сервера Google, когда я могу загрузить ее с моего сервера как один файл, состоящий из ZIP файла jQuery 19kb + дополнительный Код JavaScript, который я написал, - все сжатые с помощью JS-компрессора и обслуживаемые HTTP-дефлированные.
С сервером Google у меня есть 2 (параллельные) HTTP-поездки. Один, чтобы получить файл jquery, а другой - получить код JavaScript на сайте. Один 19kb и другой говорят 20-25kb.
В нормальных условиях это будет одна загрузка 30-35 килобайт с моего сайта.
Ответы
Ответ 1
Учтите, что jQuery script, загруженный с CD-диска Google, вполне может быть кэширован в браузере посетителей, поскольку он имеет согласованные заголовки и кеш-контроль независимо от того, откуда он загружается. Следовательно, в среднем большинству пользователей приходится загружать только скрипты javascript для конкретного сайта. Кроме того, CDN обычно имеет более быстрое время отклика, чем отдельные серверы, поскольку они отвечают от ближайшего к вашему серверу сервера.
На ваш вопрос нет ответного и сухого ответа, так как оба подхода обеспечивают хорошую производительность при современных соединениях. Вы должны профилировать свою систему под давлением и посмотреть, какое решение предлагает наилучшие результаты (и если такая оптимизация даже нужна).
Ответ 2
Вы уверены, что скрипты будут загружаться параллельно? Этот пример из Cuzillion, кажется, говорит, что только IE8 может это сделать.
Также стоит выяснить, сколько из ваших просмотров страниц являются посетителями в первый раз и сколько из них посетили сайт, чтобы помочь вам решить, сколько кэширования повлияет на время загрузки. Если у вас есть значительное количество посетителей в первый раз, вероятно, стоит перекопать его в свою пользу, чтобы сделать первый опыт как можно быстрее.
Ответ 3
Тест-тест, выполненный httpwatch для js файлов из Google.
http://blog.httpwatch.com/2008/11/27/google-adds-https-support-to-the-ajax-libraries-api/
Ответ 4
Это настоящий вопрос? Просто убедитесь, что ваш Cache-Control в ваших HTTP-заголовках настроен правильно, и клиент конечного пользователя только потянет его один раз. Это абсолютно тривиальное количество данных.
Ответ 5
По моему мнению, нет никакого реального недостатка в использовании известного jQuery CDN (такого как Google), и есть некоторые потенциальные проблемы, поэтому мое личное предпочтение - принять подход CDN. Если ничто иное, это еще один файл для меня, чтобы беспокоиться и поддерживать его как часть моего исходного дерева.
Есть несколько преимуществ, которые я вижу в использовании CDN по сравнению с одним жирным архивом JavaScript:
- Уменьшение времени ожидания для извлечения нерасщепленных ресурсов, поскольку эти ресурсы обслуживаются с крайних позиций
- Для сторонних скриптов пользовательский браузер, вероятно, уже имеет кеширование и не будет загружать их снова для вашего сайта.
- Работа с ограничениями браузера для каждого узла для параллельных запросов, путем распределения ваших активов по нескольким именам хостов (конечно, это также можно сделать с помощью собственных серверов с использованием простых поддоменных трюков).
- Уменьшение общей нагрузки на ваших первичных серверах, особенно. важно во время пиковых периодов использования или нападений YC/Slashdot.
Когда нужно следить за временем загрузки для ресурсов HTML-страницы:
- Когда у вас есть значительное число посетителей, впервые посещающих (из поисковых систем и/или социальных сетей). Исследования показывают, что в наши дни люди не очень терпеливы, поэтому вам действительно нужно уйти с пути, чтобы произвести хорошее первое впечатление. (См. Также статьи Якоба Нильсена на Отказ страницы, Ответы на двигатели и Время отклика.)
- Для посетителей, использующих мобильные устройства. Мобильные сети передачи данных часто медленны и/или перегружены.
- Для магазинов, практикующих непрерывную доставку и вызывающих частые оттоки активов (чаще всего для новых сайтов и приложений).
P.S. - Аарон Хопкинс имеет одну из лучших рецензий на оптимизацию времени загрузки страницы Я видел. Немного устарела, но все же весьма актуальна.
P.S.S. - Возможно, вы захотите взглянуть на Zepto, легкую (24K против 100K), совместимую с api альтернативу jQuery.