Antworten:
Die Verwendung eines externen CDN wie Google zum Hosten von jQuery bietet zwei wesentliche Vorteile:
Mögliche Nachteile:
Ein weiterer Nachteil:
Durch die Verwendung eines CDN kann der Betreiber des CDN die Besucher der Website verfolgen. Deshalb kosten sie kein Geld.
Die Verwendung von CDNs, um Ihre Abhängigkeiten zwischen vielen Servern wie diesen zu schützen, stellt im Wesentlichen einen Kompromiss zwischen Bandbreite und Latenz dar, vorausgesetzt, Sie kümmern sich nur um die Leistung.
Ich gehe im Übrigen davon aus, dass die Alternative nicht einfach darin besteht, sie lokal zu hosten, sondern sie mit einer anderen lokalen Anforderung zu verketten - normalerweise gibt es keinen guten Grund, sie nicht zu verketten, wenn Sie können.
Wenn die Bandbreite unendlich ist, sollten Sie NICHT sharden, da Sie genauso langsam sind wie Ihr langsamster Service. Da die Latenzen nicht genau vorhersehbar sind und genügend Services zur Verfügung stehen, benötigen Sie nur ein Bit, auch wenn diese schnell sind von Pech, ein langsames Laden der Seite zu verursachen.
Wenn die Latenz 0 ist, kann die Verteilung Ihrer Last auf mehrere Server die Bandbreite durch die Auslastung vieler Server verbessern (nicht hilfreich, da die Bandbreitenbeschränkungen wahrscheinlich in der Nähe der Clients und nicht der Server liegen). Noch wichtiger ist jedoch, dass die übertragene Datenmenge reduziert werden kann leicht durch Erhöhen der Wirksamkeit des Cachings.
Es hängt von Ihrem Szenario ab, aber ich würde allgemein erwarten, dass die Latenz ein größeres Problem als die Bandbreite darstellt, es sei denn, Ihre Skripte sind wahnsinnig umfangreich (was jquery nicht ist). Zu diesem Zeitpunkt ist es normalerweise schneller, jquery als Teil einer verketteten lokalen Datei zu hosten.
Gründe, nicht lokal zu hosten, sind z. B., wenn Sie für Bandbreite bezahlen oder wenn Sie auf einem langsamen Server hosten (Ihre Verbindung zum Client ist auf Ihrer Seite und nicht auf der des Clients eingeschränkt) oder wenn Sie wissen, dass Ihre Clients eine wirklich niedrige Bandbreite haben (z. B. Low-End-DSL oder Modems - Mobilgeräte haben tendenziell mehr Latenzprobleme als Bandbreitenprobleme) oder Ihre Kunden zahlen für Bandbreite (z. B. Mobilgeräte), und Skripts sind ein so auffälliger Teil dessen, dass geringfügiges Caching eine Rolle spielt (unwahrscheinlich) ).
In jedem Fall ist es wesentlich relevanter, ob Sie zuerst die Grundlagen behandelt haben. geeignete Caching-Header, Verkettung, Minimierung und Gzipping (vorzugsweise mit einem hohen Komprimierungsverhältnis). Und hier ist der springende Punkt: Wenn du das NICHT tust, wird es zumindest das CDN tun, also ist das der Gewinn ...
TL; DR: Wenn Sie Verkettung + Minifizierung + Gzipping + Caching haben, ist das lokale Bereitstellen kleiner Skripte trotz der besseren Leistung des CDN schneller als von einem CDN aus - aber nur, wenn Sie Ihre Hausaufgaben erledigt haben, möglicherweise nicht auf der ersten Seite laden, und es gibt definitiv Ausnahmen von dieser Regel.
Durch die Verwendung der von Google gehosteten jQuery-Bibliothek kann Ihre Seite schneller geladen werden. In der Tat wird die Bibliothek zur selben Zeit wie Ihre Seite anstatt nachher geladen.