Update basierend auf Kommentaren:
Kurzversion: Es spielt keine Rolle, aber es kann davon abhängen, was sie hosten. Sie alle hosten verschiedene Dinge: Google hostet jQuery nicht. Validieren, Microsoft hat jQuery-UI nicht gehostet, seit 2016 !!, Microsoft bietet ihre Skripte an, die sonst über bereitgestellt würden, ScriptResource.axd
und eine einfachere Integration (z . B. ScriptManager mit ASP). Netto 4.0 ).
Wichtiger Hinweis: Wenn Sie eine Intranetanwendung erstellen, halten Sie sich vom CDN-Ansatz fern. Es spielt keine Rolle, wer es hostet , es sei denn, Sie befinden sich intern auf einem stark überlasteten Server. Kein CDN bietet Ihnen mehr Leistung als lokales 100-MB / 1-GB-Ethernet. Wenn Sie ein CDN für eine streng interne Anwendung verwenden, beeinträchtigen Sie die Leistung . Stellen Sie Ihre Cache-Ablauf-Header korrekt ein und ignorieren Sie CDNs, die im Nur-Intranet-Szenario vorhanden sind.
Die Wahrscheinlichkeit, dass einer von beiden blockiert wird, scheint ungefähr gleich zu sein, fast Null. Ich habe an Verträgen gearbeitet, bei denen dies nicht der Fall ist, aber es scheint eine Ausnahme zu sein. Seit der ursprünglichen Veröffentlichung dieser Antwort hat sich der Kontext, in dem sie sich befindet, stark geändert. Das Microsoft CDN hat große Fortschritte gemacht.
Das Projekt, an dem ich gerade arbeite, verwendet beide CDNs, was für unsere Lösung am besten funktioniert. Dabei spielen mehrere Faktoren eine Rolle. Benutzer mit einem älteren Browser stellen wahrscheinlich immer noch zwei gleichzeitige Anforderungen pro Domain, wie in der HTTP-Spezifikation empfohlen . Dies ist kein Problem für jemanden, der etwas anständig Neues ausführt, das Pipelining unterstützt (jeder aktuelle Browser), aber basierend auf einem anderen Faktor beseitigen wir diese Einschränkung auch, zumindest was das Javascript betrifft.
Googles CDN, das wir verwenden für:
Microsofts CDN, das wir verwenden für:
Unser Server:
- Combined.js? V = 2.2.0.6190 (Major.Minor.Iteration.Changeset)
Da ein Teil unseres Erstellungsprozesses darin besteht, alle benutzerdefinierten Javascript zu kombinieren und zu minimieren, erfolgt dies über einen benutzerdefinierten Skriptmanager, der je nach Build die Release- oder Debug-Versionen (nicht minimiert) dieser Skripte enthält. Da Google das jQuery-Validierungspaket nicht hostet, kann dies ein Nachteil sein. MVC nimmt dies in seiner Version 2.0 auf / verwendet es, sodass Sie sich für alle Ihre Anforderungen vollständig auf das CDN von Microsoft verlassen können und dies alles automatisch über den ScriptManager .
Das einzige andere Argument, das vorgebracht werden muss, sind DNS-Zeiten. Dies ist mit Kosten für die Seitenladegeschwindigkeit verbunden. Durchschnittlich: Nur weil es mehr verwendet wird (es gibt es schon länger), ajax.googleapis.com
wird es wahrscheinlich früher von DNS zurückgegeben als ajax.microsoft.com
einfach, einfach weil der lokale DNS-Server eher eine Anfrage dafür erhalten hat (dies ist ein erster Benutzer in der Gebietsstrafe). . Dies ist eine sehr kleine Sache und sollte nur in Betracht gezogen werden, wenn die Leistung bis auf die Millisekunde extrem wichtig ist.
(Ja, mir ist klar, dass dieser Punkt meiner Verwendung beider CDNs widerspricht, aber in unserem Fall wird die DNS-Zeit durch die Wartezeit auf das auftretende Javascript / Blockieren bei weitem überschattet.)
Wenn Sie es sich nicht angesehen haben, ist Firebug eines der besten Tools und einige Plug-Ins dafür: Page Speed und YSlow . Wenn Sie ein CDN verwenden, Ihre Seiten jedoch jedes Mal Bilder anfordern, weil keine Cache-Header vorhanden sind, fehlt Ihnen die niedrig hängende Frucht. Das Net-Panel von Firebug kann Ihnen schnell eine schnelle Aufschlüsselung der Ladezeit Ihrer Seite geben, und Page Speed / YSlow bietet einige gute Vorschläge, um Ihnen zu helfen.