Für manche mag dies offensichtlich sein, aber ich habe mich gefragt: Warum sollte ich mich auf den Server von Google verlassen , um jQuery für meine Website zu hosten?
Liegt es nur daran, dass es auf diese Weise schneller geladen wird?
jquery
performance
cdn
Yvette
quelle
quelle
Antworten:
Das ist weil:
(Die meisten Browser laden nur 3 oder 4 Dateien gleichzeitig von einer bestimmten Site herunter.)
(Je mehr Websites dieser Vorgehensweise folgen, desto mehr Benutzer haben die Datei bereits bereit.)
(Google kann die Datei in einer Vielzahl von Formaten (wie GZIP oder DEFLATE) vorkomprimieren. Dadurch wird die Zeit zum Herunterladen sehr gering, da sie sehr komprimiert ist und nicht im laufenden Betrieb komprimiert wird.)
(Google bietet grundsätzlich kostenlose Bandbreite an.)
(Google verfügt über Server auf der ganzen Welt, wodurch die Latenz weiter verringert wird.)
(Wenn Sie "am Sitz Ihrer Hose vorbeifliegen" möchten, können Sie immer die neueste Version eines von ihnen angebotenen Skripts verwenden. Diese können Sicherheitslücken schließen, aber im Allgemeinen nur Ihre Sachen kaputt machen.)
quelle
Es gibt verschiedene Szenarien, in denen Sie jQuery aus Googles CDN möglicherweise nicht verwenden möchten:
Wenn Sie eine Intranetanwendung erstellen, bei der der Webserver im selben Netzwerk wie die Clients gehostet wird. Wenn Sie Googles CDN jQuery verwenden, rufen Sie das Internet an und nicht einen Webserver im lokalen Netzwerk. Dies erhöht die Bandbreite für Ihr Unternehmen und ist langsamer.
Wenn Sie Ihre Anwendung offline ausführen möchten . (Ganz im Zusammenhang mit der ersten Ausgabe) Wenn Sie in einer Entwicklungsumgebung arbeiten müssen (die beispielsweise mit Bower verwaltet wird ), müssen Sie möglicherweise in der Lage sein, Ihre Anwendung ohne Internetverbindung (z. B. in einem Zug) zum Laufen zu bringen.
Wenn Sie es anpassen müssen . Zum Beispiel, wenn Sie Grunt zum Erstellen der Bibliothek verwenden, um nur bestimmte Module zu verwenden oder den AMD-Namen festzulegen
Wenn Sie Seiten über SSL bereitstellen, für die jQuery erforderlich ist. Sie sollten JavaScript über SSL sowie Ihre Seite bereitstellen, um Sicherheitsprobleme und Warnungen zu vermeiden.
Außerdem hostet Microsoft jQuery auf seinem CDN. Dies ist eine weitere Option, die mit der Verwendung von Googles gehosteter jQuery vergleichbar ist.
quelle
src="//ajax.googleapis.com/..."
, funktionieren.Diese Studie von TJ VanToll hat mich überzeugt, dass es besser ist, jQuery mit anderen Skripten zu verketten, als es von einem CDN zu laden.
Der Grund ist die Latenz beim Abrufen von jQuery auf Mobilgeräten:
Er zitiert auch diesen Beitrag von Steve Souders, der zeigt, warum es unwahrscheinlich ist, dass Sie den Caching-Vorteil durch die Verwendung eines CDN erhalten:
quelle
Der größte Vorteil ist das Caching. Die Theorie besagt, dass sich die Bibliothek beim Besuch Ihrer Website bereits im Browser-Cache des Benutzers befindet und nicht erneut heruntergeladen werden muss, wenn ein Besucher eine Website besucht hat, auf der seine JavaScript-Bibliotheken geladen wurden, z. B. jQuery, z. B. aus dem Google CDN . Das klingt theoretisch großartig.
Die Vorteile, die hier und anderswo geteilt werden, sind alle theoretisch. Ich bin gerade auf eine eingehende Analyse der Verwendung eines CDN gestoßen und habe festgestellt, ob es die erwarteten Leistungsvorteile bietet. http://www.root777.com/appdev/does-using-google-libraries-api-cdn-give-you-performance-benefits
quelle
Ein Hauptgrund dafür, dass Google Ihre jQuery NICHT hostet, was viele Leute nicht denken, ist, dass sie nicht heruntergeladen wird, wenn Sie in China sind. Es wird zusammen mit vielen anderen Skripten, Schriftarten usw. blockiert, die von Google CDNs gehostet werden. Wenn Sie ein chinesisches Publikum erreichen möchten, verwenden Sie am besten immer einen Fallback, der auf Ihrem eigenen Server gehostet wird. Google APIS in China blockiert
quelle
Einige gute Antworten hier auf "Warum sollten Sie ..." und "Warum sollten Sie nicht ..."
Ich möchte einfach eine Liste mit Alternativen zu Google hinzufügen, wenn Sie jQuery von einem CDN laden möchten.
Zusammenfassend lässt sich jedoch sagen, dass Sie die Leistung Ihrer gesamten Website / Anwendung insgesamt verbessern.
quelle
Wenn Sie CDN mit einem Service Worker verwenden, können Sie das CDN einmal im Leben des Clients herunterladen und nicht jedes Mal, wenn Sie Ihren Code aktualisieren.
quelle