Відповіді:
Існує дві основні переваги використання зовнішнього CDN, наприклад Google для розміщення jQuery:
Потенційні мінуси:
Ще один недолік:
Використання CDN дозволяє оператору CDN відстежувати відвідувачів сайтів. Тому вони не коштують грошей.
Використання CDN (ів) для розподілу залежностей на багатьох серверах, як це, по суті, являє собою компроміс між пропускною здатністю та затримкою, припускаючи, що ви дбаєте лише про продуктивність.
Я, до речі, припускаю, що альтернатива - це не просто розміщення її на локальному рівні, а поєднання її з іншим локальним запитом - зазвичай немає вагомих причин не об'єднуватися, коли можна.
Якщо пропускна здатність нескінченна, то вам найкраще НЕ різкувати, тому що ви будете так само повільними, як і ваш найповільніший сервіс - оскільки затримки не є ідеально передбачуваними, з достатньою кількістю служб, навіть якщо вони швидкі, вам знадобиться лише один біт невдача спричинить повільне завантаження сторінки.
Якщо затримка дорівнює 0, то рознесення вантажу на багато серверів може покращити пропускну здатність, використовуючи багато серверів (що не корисно, оскільки, ймовірно, обмеження пропускної здатності є поруч із клієнтами, а не серверами), але що ще важливіше, це може зменшити кількість переданих даних трохи за рахунок підвищення ефективності кешування.
Це залежить від вашого сценарію, але я, як правило, сподіваюсь, що затримка буде більшою проблемою, ніж пропускна здатність, якщо тільки ваші сценарії не шалено величезні (що jquery - ні). У цей момент зазвичай розміщувати jquery як частину об'єднаного локального файлу.
Причини не розміщуватись на локальному рівні - наприклад, коли ви платите за пропускну спроможність або хостите на якомусь повільному сервері (ваше з'єднання з клієнтом обмежено на вашій стороні, а не на клієнті), або ви знаєте, що ваші клієнти матимуть дійсно низьку пропускну здатність. (DSL або модеми низького класу, скажімо - мобільний, як правило, має більше проблем із затримкою, ніж проблеми з пропускною здатністю), або ваші клієнти платять за пропускну здатність (наприклад, мобільний), а сценарії - настільки помітна частина тієї, що незначне кешування перемагає значення (не ймовірно ).
У будь-якому випадку: набагато релевантніше буде те, чи ви вперше висвітлили основи; відповідні заголовки кешування, конкатенація, мінімізація та gzipping (бажано з високим ступенем стиснення). І ось суть: якщо ви цього не робите, то принаймні CDN буде, тож це виграш ...
TL; DR: Якщо у вас є конкатенація + мінімізація + gzipping + кешування всіх охоплених, то подання невеликих скриптів локально швидше, ніж з CDN, незважаючи на кращу ефективність CDN - але тільки якщо ви виконали домашнє завдання, можливо, не на першій сторінці навантаження, і з цього правила безумовно є винятки.
Використання розміщеної бібліотекою jQuery від Google дозволяє завантажувати вашу сторінку швидше. Дійсно, бібліотека завантажується в той же час вашої сторінки, а не після.