Оновлення на основі коментарів:
Коротка версія: Це не має великого значення, але це може залежати від того, що вони приймають. Усі вони містять різні речі: Google не розміщує jQuery.Validate, Microsoft не приймає jQuery-UI, оскільки з 2016 року вони це роблять !!, Microsoft пропонує свої сценарії, які в іншому випадку будуть обслуговуватися через ScriptResource.axd
і простішу інтеграцію (наприклад, ScriptManager з ASP. Чистий 4,0 ).
Важлива примітка. Якщо ви створюєте інтранет-додаток, тримайтеся подалі від підходу CDN. Не важливо , хто це хостинг, якщо ви не на дуже перевантажений сервер внутрішньо, чи не CDN не дасть вам більш високу продуктивність , ніж локальний Ethernet 100 Мбіт / 1GB буде. Якщо ви використовуєте CDN для суто внутрішньої програми, вам шкодить продуктивність . Налаштуйте правильно заголовки закінчення терміну кешування та ігноруйте існування CDN у сценарії, призначеному лише для інтрамережі.
Шанси або бути заблокованими, схоже, приблизно рівні, майже нульові. Я працював над контрактами, де це не відповідає дійсності, але, здається, це є винятком. Крім того, оскільки початкова публікація цієї відповіді, контекст навколо неї сильно змінилися, Microsoft CDN домігся значного прогресу.
У проекті, на якому я зараз перебуваю, використовуються обидва CDN, які найкраще підходять для нашого рішення. У цьому грає кілька факторів. Користувачі зі старшим браузером все ще, ймовірно, роблять 2 одночасних запити на домен, як це рекомендовано специфікацією HTTP . Це не проблема для тих, хто працює щось пристойно нове, що підтримує конвеєрний рух (кожен поточний браузер), але виходячи з іншого фактора, ми також знімаємо це обмеження, принаймні, що стосується JavaScript.
CDN Google, який ми використовуємо для:
CDN Microsoft, який ми використовуємо для:
Наш сервер:
- Combined.js? V = 2.2.0.6190 (Major.Minor.Iteration.Changeset)
Оскільки частина нашого процесу збирання поєднує та мінімізує всі користувальницькі JavaScript, ми робимо це за допомогою спеціального менеджера сценаріїв, який включає випуск або налагодження (не змінені) версії цих сценаріїв залежно від збірки. Оскільки Google не розміщує пакет підтвердження jQuery, це може бути недостатньою стороною. MVC включає / використовує це у своєму випуску 2.0, так що ви можете повністю покластися на CDN Microsoft для всіх своїх потреб, і все це автоматично через ScriptManager .
Єдиний інший аргумент, який слід зробити, - це DNS-часи. Це коштує з точки зору швидкості завантаження сторінки. В середньому: просто тому, що його більше використовується (це було довше) ajax.googleapis.com
, швидше за все, DNS повернеться швидше ajax.microsoft.com
, просто тому, що локальний DNS-сервер швидше отримає запит на нього (це перший користувач, який нараховує покарання в районі) . Це дуже незначна річ, і її слід враховувати лише в тому випадку, якщо продуктивність надзвичайно важлива, аж до мілісекунди.
(Так: я розумію, що цей момент суперечить моєму використанню обох CDN, але в нашому випадку час DNS значно затьмарений часом очікування на javascript / блокування, що відбувається)
Нарешті, якщо ви ще не подивилися на це, одним з найкращих інструментів є Firebug та деякі додатки для нього: Page Speed та YSlow . Якщо ви використовуєте CDN, але ваші сторінки щоразу вимагають зображень через відсутність заголовків кеша, вам не вистачає низько висячих фруктів. Панель Netbu Firebug може швидко дати вам швидке розбиття часу завантаження сторінки, і Page Speed / YSlow може запропонувати кілька корисних пропозицій.