Ist es besser, CDN für js und ähnliche Ressourcen im Vergleich zu lokalen zu verwenden? [closed]

Lesezeit: 6 Minuten

Benutzer-Avatar
BrownChiLD

Ich habe die Angewohnheit, alles lokal zu speichern und sicherzustellen, dass meine Website auch auf einem lokalen Server ohne Internetverbindung ausgeführt werden kann. Dies ist seitdem mein Prinzip, damit meine Website eigenständig offline laufen kann, und insbesondere für die Entwicklungsphase, in der meine Seite superschnell aktualisiert wird und ich meine Websites auch ohne Internet weiterentwickeln kann.

Daher lade ich in all meinen Webanwendungen und Websites immer die Pakete und Bibliotheken herunter, die ich benötige, und verlinke lokal auf sie, um sie einzuschließen und was nicht.

Ich weiß, dass immer mehr Leute Bibliotheken über öffentliche CDNs und ähnliches verlinken/importieren, also habe ich mich gefragt, ob es wirklich WICHTIGE Vorteile gibt, dies zu tun?

Ich habe das Offensichtliche identifiziert (fühlen Sie sich frei, mich zu korrigieren):

PRO LOCAL – schnellere Entwicklungserfahrung – keine Abhängigkeit von anderen Servern, die unterbrechen können – schnellere Benutzererfahrung (?), da die Site-Seiten schnell ausgeführt werden und bereits mit Dateien/Bibliotheken auf demselben Server arbeiten (lokalisiert)

PRO CDN – spart Webspace (aber in der heutigen Welt scheint dies unbedeutend zu sein … auf einer typischen Website können Sie vielleicht nur 10-20 MB Speicherplatz sparen, und was ist das im großen Schema der Dinge heutzutage und billige Server und alle)

  • Feuerzeug auf dem Server (?) = Ich frage mich tatsächlich darüber. Wird das Laden von einem CDN auf dem Prozessor-RAM und der E/A-Festplatte des Servers leichter sein, oder wird es schlimmer sein, da das ausführende Dokument (z. B. index.php) etwas länger braucht, um dort fertig zu werden, indem Threads/Speicher/CPU-Zyklen in Beschlag genommen werden?

Danke an alle.

  • “schnellere Benutzererfahrung (?), da die Site-Seiten schnell ausgeführt werden und mit Dateien/Bibliotheken bereits auf demselben Server arbeiten (lokalisiert)” – Wenn es sich um eine öffentlich zugängliche Website handelt, warum sollte es dann schneller sein, alle Dateien auf demselben Server zu haben? Ich sage nicht, dass es so wäre Langsamerobwohl es das sein könnte, aber sie müssen immer noch alle in den Browser des Endbenutzers heruntergeladen werden, bevor sie ausgeführt werden, sie werden nicht auf dem Webserver ausgeführt.

    – nnnnn

    4. März 2017 um 3:43 Uhr


  • oh wahr, ich weiß nicht was ich dachte hehe. Gut, daran erinnert zu werden, vielen Dank!

    – BrownChiLD

    4. März 2017 um 5:09 Uhr

  • Sehen Dieser Artikel.

    – x-yuri

    2. November 2021 um 8:59 Uhr

Benutzer-Avatar
Rockest

Der Nutzen eines CDN ist nicht für Sie (und sollte nicht sein). Es ist für Ihre Kunden / Benutzer. Die Verwendung von CDN-Dateien – insbesondere für weit verbreitete Bibliotheken wie jQuery (oder jede andere große Bibliothek) – bedeutet, dass sie eine zwischengespeicherte Kopie der Datei von einem physischen Ort in ihrer Nähe erhalten. In den meisten Fällen bedeutet die Verwendung eines beliebten CDN für große Bibliotheken, dass der Benutzer diese Ressource auch schon einmal heruntergeladen hat – von die Website eines anderen – die Datei wird also lokal in ihrem Browser zwischengespeichert.

Dies trägt dazu bei, die Zeit zu reduzieren, die Ihr Benutzer mit dem Herunterladen von Dateien verbringt. Es geht nicht um Ihre Serverauslastung oder Ihre Entwicklungsfähigkeiten in allen Randfällen, außer im kleinsten Spielraum. Denken Sie zuerst an Ihre Benutzer!

Die Verwendung eines CDN für die meisten statischen Dateien ist für Ihre Benutzer eindeutig besser.


Aktualisierung 2022-01-25:

Es ist erwähnenswert, dass dies zwar lange Zeit der Fall war, aber wirklich nicht mehr der Fall ist. Die Verwendung von CDNs bietet immer noch echte Vorteile (z. B.: Dateien werden von einem Standort in unmittelbarer physischer Nähe zum konsumierenden Endbenutzer bereitgestellt – auf großen, global verteilten CDNs), aber das domänenübergreifende Ressourcen-Caching ist kein Vorteil mehr.

@x-yuri bemerkte dies gegen Ende des Jahres 2021 und Alle großen Browser haben eine Cache-Partitionierung implementiert nicht später als 2020.

Es ist immer noch vorteilhaft, ein CDN zu verwenden, und es ist immer noch zum Vorteil Ihrer Benutzer, aber der Vorteil liegt in der reduzierten Latenzzeit mit geolokalisierten Servern, nicht in der allgemeinen Leistung aufgrund eines Hot-Cache-Treffers.

  • Ich frage mich, wie die Reihenfolge, in der Bibliotheken geladen werden, durch die Verwendung von CDNs beeinflusst wird. Ist es dasselbe, als würde man sie vor Ort bedienen? @rockerest

    – Zilong Li

    10. Februar 2018 um 7:53 Uhr

  • @Gnoliz Demnach Chrome DevTools-Netzwerkleistung Ressource, vorausgesetzt <script> Tags haben kein async/defer, der Browser muss das Rendern anhalten und das Skript ausführen sofort sobald es auf jeden trifft <script> Schild. Mehr dazu erfahren Sie in Schritt 3 Teil A der verlinkten Ressource.

    – Tschad

    28. Januar 2019 um 15:53 ​​Uhr

  • Eine weitere Sache, die ich an CDN und ähnlichen Dingen nicht mag – sie ändern sich! Meine Website ist keine schicke Zielseite, die nach einem Jahr sterben wird, sie lief 4 Jahre lang ohne technische Wartung, bevor ich vor drei Jahren in das Projekt einstieg. In 7 Jahren wird jede Bibliothek aktualisiert oder stirbt, also wenn ich sie lokal gespeichert habe, bin ich gut und sicher, dass meine Website lebt. Aber wenn ich CDN verwende, muss ich überprüfen, „lebt es noch?“, „gibt es eine neue Version?“, „wenn ja, wird es die Kompatibilität beeinträchtigen?“, „warum der Server nicht antwortet“ und so weiter usw…

    – Der Pate

    24. Mai 2019 um 14:16 Uhr

  • Ich wollte dies hier nur für alle Leute hinterlassen, die später darauf zurückkommen: „Noch eine Sache, die ich an CDN und ähnlichen Dingen nicht mag – sie ändern sich!“ Dies ist eine falsche Verwendung eines CDN. Sie sollten eine gewünschte Version identifizieren und diese auf einem CDN verwenden. Nichts hindert Sie daran, eine Version anzuheften.

    – rockerest

    7. Juli 2020 um 18:11 Uhr


  • Brillante prägnante, klare, entscheidende Zusammenfassung!

    – Darren Murphy

    10. September 2020 um 18:30 Uhr

Benutzer-Avatar
Michèle

Jede HTTP/HTTPS-Anfrage ist ein Aufwand für den Webserver. Anfragen für JS, CSS oder andere statische Dateien würden an ein CDN umgeleitet, das normalerweise eine verteilte, schnelle und stabile Architektur hat.

Wenn Sie eine Webanwendung oder Website mit Seiten verwalten, die viele Anfragen ausführen, und viele Benutzer empfangen, kann die Anzahl der HTTP-Anfragen pro Sekunde dramatisch ansteigen. Wenn Ihr Webserver anfängt, langsam zu reagieren, wäre es eine gute Idee, die Anfragen aufzuteilen, CDNs sind wirklich gut darin, statische Inhalte zu verwalten.

Grundsätzlich kann durch Tuning der Server weniger skaliert und Geld gespart werden.

Wenn Sie keinen Leistungsmangel haben, müssen Sie möglicherweise kein CDN verwenden.

  • Guter Punkt Mike, vielen Dank!

    – BrownChiLD

    4. März 2017 um 5:10 Uhr

  • Ich frage mich, wie die Reihenfolge, in der Bibliotheken geladen werden, durch die Verwendung von CDNs beeinflusst wird. Ist es dasselbe, als würde man sie vor Ort bedienen? @Mike

    – Zilong Li

    10. Februar 2018 um 7:52 Uhr

  • Normalerweise sind CDNs schneller als Standard-Hosting

    – Michèle

    12. Februar 2018 um 15:03 Uhr

1151100cookie-checkIst es besser, CDN für js und ähnliche Ressourcen im Vergleich zu lokalen zu verwenden? [closed]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy