it-swarm.com.de

Warum sollte ich das CDN von Google für jQuery verwenden?

Dies mag für manche offensichtlich sein, aber ich habe mich schon gefragt: Warum sollte ich mich auf den Server von Google hosten, um jQuery für meine Website zu hosten?

Liegt es nur daran, dass es auf diese Weise schneller lädt?

164
Yvette

Das ist weil:

  1. Erhöht die verfügbare Parallelität.
    (Die meisten Browser laden jeweils nur 3 oder 4 Dateien von einer bestimmten Site herunter.)

  2. Es erhöht die Chance, dass es einen Cache-Treffer gibt.
    (Je mehr Sites dieser Vorgehensweise folgen, desto mehr Benutzer haben die Datei bereits bereit.)

  3. Es stellt sicher, dass die Nutzlast so gering wie möglich ist.
    (Google kann die Datei in einer Vielzahl von Formaten vorkomprimieren (z. B. GZIP oder DEFLATE). Dadurch wird die Downloadzeit sehr verkürzt, da sie extrem komprimiert ist und nicht spontan komprimiert wird.)

  4. Es reduziert die von Ihrem Server verwendete Bandbreite.
    (Google bietet grundsätzlich freie Bandbreite.)

  5. Es stellt sicher, dass der Benutzer eine räumlich nahe Antwort erhält.
    (Google hat Server auf der ganzen Welt, wodurch die Latenz weiter verringert wird.)

  6. (Optional) Sie halten Ihre Skripts automatisch auf dem neuesten Stand.
    (Wenn Sie gerne am Sitz Ihrer Hose fliegen, können Sie jederzeit die latest -Version eines von ihnen angebotenen Skripts verwenden. Diese können Sicherheitslücken beheben, aber in der Regel brechen Sie nur Ihre Sachen.)
382
John Gietzen

Es gibt verschiedene Szenarien, in denen nicht jQuery von Googles CDN verwenden möchte:

  1. Wenn Sie eine Intranet-Anwendung () Erstellen, bei der der Webserver In demselben Netzwerk gehostet ist wie die -Clients. Wenn Sie das CDN JQuery von Google verwenden, rufen Sie Das Internet und nicht einen Webserver Im lokalen Netzwerk an. Dieses Erhöht die Bandbreite für Ihre Organisation und ist langsamer.

  2. Wenn Sie Ihre Anwendung offline ausführen möchten. (Ziemlich verknüpft mit dem ersten Problem) Wenn Sie an einer Entwicklungsumgebung arbeiten müssen (die beispielsweise mit Bower verwaltet wird), müssen Sie möglicherweise Ihre Anwendung ohne Internetverbindung (z. B. in einem Zug) zum Laufen bringen :)

  3. Wenn Sie es anpassen müssen. Zum Beispiel, wenn Sie Grunt verwenden, um die Bibliothek zu erstellen, um nur bestimmte Module zu verwenden oder den AMD-Namen einzustellen

  4. Wenn Sie Seiten über SSL Bereitstellen, für die jQuery erforderlich ist. Sie sollten Das JavaScript über SSL als Sowie als Seite zur Verfügung stellen, um Sicherheitsprobleme Und Warnungen zu vermeiden.

Microsoft hostet jQuery auf ihrem CDN. Dies ist eine andere Option, die mit der von Google gehosteten jQuery vergleichbar ist.

56
Lance Fisher

Diese Studie von TJ VanToll hat mich überzeugt, dass es besser ist, jQuery mit anderen Skripten zu verketten, anstatt es von einem CDN zu laden.

Der Grund ist die Wartezeit beim Abrufen von jQuery auf mobilen Geräten:

"Im Jahr 2012 betrug die durchschnittliche RTT-Zeit in einem Mobilfunknetz in den USA 344 ms. 344 ms. Und diese 344 ms gilt nicht nur für jede HTTP-Anfrage, die die durchschnittliche Webseite jetzt ausmacht, sondern auch für jede DNS-Suche und TCP Verbindung ... Während sich durchschnittliche RTTs verbessern, gibt es nur kleine zusätzliche Gewinne, da aktuelle Netzwerke innerhalb eines __. kleinen Faktors der theoretischen Grenze liegen, die von der Physik vorgegeben wird . "

Er zitiert auch diesen Beitrag von Steve Souders, aus dem hervorgeht, warum Sie den Caching-Vorteil unwahrscheinlich von der Verwendung eines CDN bekommen:

Msgstr "Aufgrund der Fragmentierung in CDN - Providern, jQuery - Versionen und der Verwendung des Protokolls (http vs. https) sind die Chancen, einen..... CDN-Cache zu erhalten, erschreckend gering - und das Herunterladen von einer externen Domäne hat. nicht nur eine, sondern drei Roundtrips (eine DNS-Suche, eine TCP - Verbindung und ein HTTP-GET). "

28
cantera

Der größte Vorteil ist das Caching. Die Theorie besagt, dass wenn ein Besucher eine Website besucht hat, die seine JavaScript-Bibliotheken geladen hat, beispielsweise jQuery vom Google CDN aus, die Bibliothek sich beim Besuch Ihrer Website bereits im Browser-Cache des Benutzers befindet und nicht erneut heruntergeladen werden muss . Das klingt großartig in der Theorie. 

Die Vorteile, die hier und anderswo geteilt werden, sind alle theoretisch. Ich habe gerade eine vertiefte Analyse der Verwendung eines CDN gefunden und ob es die erwarteten Leistungsvorteile bietet . http://www.root777.com/appdev/does-using-google-libraries-api-cdn- Give-You-Performance-Vorteile

12
Matt Moor

Ein Hauptgrund dafür, Google hosten zu lassen, ist ein Problem, an das viele Leute nicht denken, weil es nicht heruntergeladen wird, wenn Sie sich in China befinden. Es ist zusammen mit vielen anderen von Google CDN gehosteten Skripts, Schriftarten usw. blockiert. Wenn Sie ein chinesisches Publikum erreichen möchten, verwenden Sie am besten einen Rückfall, der auf Ihrem eigenen Server gehostet wird Google APIS blockiert in China

7
Joshua Maddox

Einige gute Antworten hier zu "Warum sollten Sie ..." und "Warum sollten Sie nicht ..."

Ich möchte einfach eine Liste von Alternativen zu Google hinzufügen, wenn Sie jQuery von einem CDN laden möchten.

Zusammenfassend lässt sich sagen, dass Sie grundsätzlich die Gesamtleistung Ihrer Website/Anwendung verbessern.

0
EdwardM

Wenn Sie CDN mit einem Service Worker verwenden, können Sie das CDN einmal während der Clientlebensdauer herunterladen und nicht jedes Mal, wenn Sie Ihren Code aktualisieren.

0