Почему я должен использовать CDN Google для jQuery?
Это может быть очевидно для некоторых, но мне было интересно: почему я должен зависеть от сервер Google разместить jQuery для моего сайта?
Это только потому, что он загружает быстрее?
6 ответов:
Это потому, что:
- это увеличивает доступный параллелизм.
(большинство браузеров будут загружать только 3 или 4 файла одновременно с любого данного сайта.)
- это увеличивает вероятность того, что будет кэш-хит.
(поскольку больше сайтов следуют этой практике, больше пользователей уже имеют готовый файл.)
- это гарантирует, что груз будет быть как вероятный.
(Google может предварительно сжать файл в широком спектре форматов (например, GZIP или DEFLATE). Это делает время для загрузки очень маленьким, потому что оно супер сжато, и оно не сжимается на лету.)
- это уменьшает объем пропускной способности, используемой вашим сервером.
(Google в основном предлагает бесплатную пропускную способность.)
- это гарантирует, что пользователь получит географически близко ответ.
(у Google есть серверы по всему миру, что еще больше уменьшает задержку.)
- (необязательный) они будут автоматически поддерживать ваши скрипты в актуальном состоянии.
(Если вам нравится "летать на сиденье ваших штанов", вы всегда можете использовать последний версия скрипта, который они предлагают. Это может исправить дыры в безопасности, но, как правило, просто сломать ваши вещи.)
есть несколько сценариев, когда вы могли бы не хотите использовать jQuery из CDN Google:
при создании интрасети приложение, в котором находится веб-сервер размещено в той же сети, что и клиенты. если вы используете CDN Google jQuery, вы будете делать вызов интернет, а не сервер в локальной сети. Этот увеличивает пропускную способность организация и замедлившийся.
когда вы хотите запустить приложение в автономном режиме. (Вполне связано с первой проблемой) если вам нужно работать в среде разработки (управляется, например, с беседке), возможно, Вам потребуется, чтобы ваше приложение работало без подключения к интернету (т. е.: в поезде :)
когда вам нужно настроить его. Например, если вы используете грунт чтобы построить библиотеку в чтобы использовать только определенные модули или установить AMD name
когда вы обслуживаете страницы через SSL это требует jQuery. вы должны подавайте JavaScript через SSL как а также ваша страница, чтобы избежать безопасности проблемы и предупреждения.
и Microsoft hosts jQuery на их CDN. Это еще один выбор, сопоставимый с использованием размещенного jQuery от Google.
этой исследование by TJ VanToll убедил меня, что лучше объединить jQuery с другими скриптами, а не загружать его из CDN.
причиной является задержка, связанная с извлечением jQuery на мобильных устройствах:
" в 2012 году среднее время RTT в мобильной сети в США и что 344ms относится не только к каждому HTTP-запросу – что средняя веб-страница теперь составляет 93 – но и каждый DNS уважать и TCP-соединение... В то время как средние RTTs улучшаются, есть только небольшая дополнительная выгода, так как существующие сети находятся в малый коэффициент теоретического предела диктуется физикой."
Он также цитирует этот пост от Стив Саудерс, который показывает, почему вы на самом деле вряд ли получите преимущество кэширования от использования CDN:
" из-за фрагментации в поставщиках CDN, версиях jQuery и использование протокола (http против https), шансы на получение кэша CDN хит шокирующе низок – и загрузка с внешнего домена имеет потенциал для выполнения не одного, а трех турах (поиск DNS, TCP-соединение и HTTP GET)."
наибольшая выгода от кэширования. Теория заключается в том, что если посетитель посетил сайт, который загружал свои библиотеки JavaScript, скажем, jQuery, например, из Google CDN, то когда они посещают ваш сайт, библиотека уже находится в кэше браузера этого пользователя и ее не нужно будет загружать снова. Это звучит здорово в теории.
преимущества, разделяемые здесь и в других местах, являются теоретическими. Просто наткнулся на углубленный анализ использования CDN и если он обеспечивает ожидаемые преимущества производительности. http://www.root777.com/appdev/does-using-google-libraries-api-cdn-give-you-performance-benefits
основная причина, по которой Google не может разместить ваш jQuery, о которой многие люди не думают, заключается в том, что он не будет загружаться, если вы находитесь в Китае. Он заблокирован вместе со многими другими скриптами, шрифтами и т. д... если вам нужно охватить китайскую аудиторию, вам лучше всего всегда использовать резервную версию, размещенную на вашем собственном сервере. API Google заблокирован в Китае
некоторые хорошие ответы здесь ", Почему вы должны...- а почему бы и нет..."
Я просто хочу добавить список альтернатив Google, если вы хотите загрузить jQuery из CDN.
- CDN JS -https://cdnjs.com/libraries/jquery
- Microsoft - https://docs.microsoft.com/en-us/aspnet/ajax/cdn/overview#jQuery_Releases_on_the_CDN_0]2
- jsDelivr - https://www.jsdelivr.com/package/npm/jquery
- code.jquery.com (StackPath) -https://code.jquery.com/
- Google -https://developers.google.com/speed/libraries/#jquery
но подводя итог, вы в основном улучшаете общую производительность веб-сайта/приложения.