Почему я должен использовать Google CDN для jQuery?

Это может быть очевидно для некоторых, но мне было интересно: почему я должен зависеть от сервера Google для размещения jQuery для моего сайта?

Это только потому, что он быстрее загружается?

Ответ 1

Это происходит потому, что:

  • Он увеличивает доступный parallelism.
    (Большинство браузеров будут загружать только 3 или 4 файла одновременно с любого сайта).

  • Увеличивает вероятность того, что будет кеш-клик.
    (Поскольку все больше сайтов следуют этой практике, у большего количества пользователей уже есть файл.)

  • Это гарантирует, что полезная нагрузка будет как можно меньше.
    (Google может предварительно сжать файл в широком диапазоне форматов (например, GZIP или DEFLATE). время для загрузки очень мало, потому что оно супер сжато и оно не сжимается" на лету ".)

  • Он уменьшает пропускную способность, используемую вашим сервером.
    (Google в основном предлагает бесплатную пропускную способность.)

  • Это гарантирует, что пользователь получит географически близкий ответ.
    (у Google есть серверы по всему миру, что дополнительно уменьшает задержку.)

  • (необязательно) Они будут автоматически обновлять ваши сценарии.
    (Если вам нравится" летать на сиденье ваших штанов", вы всегда можете использовать последнюю версию любой script, который они предлагают. Они могут исправить дыры в безопасности, но, как правило, просто разбивают ваши вещи.)

Ответ 2

Существует несколько сценариев, когда вы не хотите использовать jQuery из Google CDN:

  • Когда вы создаете интрасеть приложение, в котором веб-сервер размещенный в той же сети, что и клиентов. Если вы используете Google CDN jQuery, вы будете звонить Интернет, а не веб-сервер в локальной сети. Эта увеличивает пропускную способность для вашего и медленнее.

  • Если вы хотите запустить приложение офлайн. (Вполне связано с первой проблемой). Если вам нужно работать в среде разработки (например, с помощью Bower), вам может потребоваться быть в состоянии заставить ваше приложение работать без какого-либо подключения к Интернету (то есть: в поезде:)

  • Когда вам нужно настроить его. Например, если вы используете Grunt для создания библиотеки для использования только определенных модулей или установки название AMD

  • Когда вы показываете страницы через SSL которые требуют jQuery. Вы должны обслуживать JavaScript через SSL как так же как ваша страница, чтобы избежать безопасности проблемы и предупреждения.

Кроме того, Microsoft запускает jQuery на своем CDN. Это еще один вариант, сопоставимый с использованием jQuery, размещенного в Google.

Ответ 3

Этот исследование от TJ VanToll убедил меня, что это лучше конкатенировать jQuery с другими скриптами, а не загружать его из CDN.

Причина заключается в латентности, связанной с получением jQuery на мобильных устройствах:

"В 2012 году среднее время RTT в мобильной сети в США составил 344 мс. И это 344ms применяется не только к каждому HTTP-запросу - который средняя веб-страница теперь составляет 93 из - но также и каждый DNS-поиск и TCP-соединение... В то время как средние RTT улучшаются, есть только небольшой дополнительный выигрыш, поскольку текущие сети находятся в пределах малый фактор теоретического предела, продиктованного физикой".

Он также цитирует этот пост от Steve Souders, который показывает, почему вы на самом деле вряд ли получите преимущество кеширования от использования CDN:

"Из-за фрагментации в провайдерах CDN, версиях jQuery и использование протокола (http против https), вероятность получения кеша CDN хит ужасно низкий - и загрузка из внешнего домена потенциал для выполнения не одного, а трех раундов (поиск DNS, TCP-соединение и HTTP GET).

Ответ 4

Наибольшее преимущество от кеширования. Теория заключается в том, что если посетитель посетил сайт, загружающий свои библиотеки JavaScript, скажем, например, jQuery из CDN Google, а затем, когда они посещают ваш сайт, библиотека уже находится в этом кеше браузера пользователей и больше не придется загружать, Это звучит здорово в теории.

Преимущества, предоставляемые здесь и в других местах, являются теоретическими. Просто натолкнулся на углубленный анализ использования CDN и, если он обеспечивает ожидаемые преимущества в производительности. http://www.root777.com/appdev/does-using-google-libraries-api-cdn-give-you-performance-benefits

Ответ 5

Основная причина НЕ разрешать Google размещать ваш jQuery, о котором многие люди не думают, заключается в том, что он не будет загружаться, если вы находитесь в Китае. Он заблокирован вместе со многими другими скриптами, шрифтами и т.д., Размещенными в Google CDN. Если вам нужно связаться с китайской аудиторией, вам лучше всегда использовать откат на своем собственном сервере. Google APIS заблокирован в Китае

Ответ 6

Некоторые хорошие ответы здесь на "Почему вы должны..." и "Почему вы не должны..."

Я просто хочу добавить список альтернатив Google, если вы хотите загрузить jQuery из CDN.

Но, чтобы подвести итог, вы в основном улучшаете свою общую производительность веб-сайта/приложения.