Warum ein CDN meistens sinnlos ist

Wenn es um die Geschwindigkeit einer Webseite geht, liest man Immer wieder von verschiedenen Seiten, wie sinnvoll ein CDN ist. Bei einem CDN (Content Delivery Network) handelt es sich meistens um über die Welt verteilte Server, von denen man Inhalte statt vom eigenen Server abruft. Bekannte Vertreter sind z.B. Cloudflare, CloudFront von aws (Amazon) oder Azure CDN von Microsoft.

Vorteile eines CDN für eigene Inhalte

  • Der eigene (langsame) Server wird entlastet
  • Leistungsspitzen werden besser aufgefangen
  • Bei weltweiten Besuchern wird der Inhalt von einem näheren Server des Besuchers (z.B. USA statt Deutschland) ausgeliefert

Muss die eigene Webseite also ab und an mit einem Besucheransturm rechnen oder hat viele internationale Besucher, macht ein CDN durchaus Sinn. Bei einer Webseite eines regionalen Geschäftes wie z.B. einem Friseur sind weder Leistungsspitzen noch weltweite Besucher erwartbar. Und bei einem langsamen eigenen Server ist der Umzug zu einem besseren Hoster sinnvoller als auf ein CDN zu setzen.

Vorteile eines CDN für fremde Inhalte

Ein bekanntes CDN für fremde Inhalte ist z.B. Google Fonts. Der Vorteil daran war (ja, war – dazu später mehr), dass der Inhalt nur einmal von den Google-Servern geladen wird und dann im Browser des Besuchers gespeichert wird. Der beliebte Font ‘Roboto’ musste so z.B. nicht noch einmal für eine Webseite geladen werden, wenn eine andere Webseite ihn schon verhwendet hat und der Font lokal im Speicher des Browsers zwischengespeichert wurde. Genauso gibt es CDN für andere beliebte Dateien, wie z.B. jquery, Bootstrap usw. Man sparte bei deren Verwendung also viel unnötige Ladezeit.

Browser-Cache ist auf eine Domain begrenzt

Beginnend mit der Version 85 von Chrome hat sich das nun geändert (und auch Firefox wird wahrscheinlich es zukünftig genauso handhaben): Der lokale Cache im Browser gilt nur noch für eine Domain. Das heißt, wenn die Domain www.eins.de den Font Roboto von den Google Webfonts lädt, wird der nun lokal gespeicherte Roboto-Font nur noch für die Domain www.eins.de genutzt. Die Domain www.zwei.de wird denn Font also wieder von Google herunterladen und erneut lokal speichern.

Das macht doch keinen Sinn, oder?

Nun ja, es verschlechtern sich auf jeden Fall die Ladezeiten sowie der Speicherverbrauch des Browsers. Der Sinn dahinter ist, das manipulierte Dateien auf Seiten keine Gefahr für andere Seiten mehr darstellen sollen. Wurde oben z.B. die Domain www.eins.de gehackt, so dass sie statt den Font Roboto einen schädlichen Trojaner verwendet, würde dieser Trojaner eventuell auch auf der Seite www.zwei.de ausgeführt, wenn diese den vermeintlichen Roboto-Font im Cache des Browsers verwendet.

CDN und DSGVO – oft nicht vereinbar

Bei jedem CDN wird auch unweigerlich die IP des Nutzers übermittelt. Das ist künftig aber ohne Zustimmung des Users untersagt. Sie benötigen also auf jeden Fall eine Auftragsdatenvereinbarung mit dem CDN. Außerdem müsste nach meinem Rechtsverständnis in den Consent-Banner (‘Cookie-Banner’) auf das CDN hingewiesen werden. Dies wird jedoch von den meisten Webseiten ignoriert, bin gespannt wann es darüber die ersten Gerichtsurteile gibt.

Fazit

Bei Leistungsdefiziten sollten sie als erstes ihre Webseite sowie den Webserver optimieren. Statt Shared Hosting oder Shared Server z.B. einen eigenen Dedicated Server. Sollten sie dann immer noch Geschwindigkeitsprobleme feststellen, und erst dann, sollten sie über den Einsatz eines CDN nachdenken.

3 Kommentare

  1. Hast du das mit den Fonts mal überprüft? Durch Privacy-Maßnahmen in den Browsern wird mittlerweile jede Ressource separat gecached.
    d.h. Fonts von Google Fonts helfen nur Google aber nicht der Performance der eigenen Seite weil sie trotzdem geladen werden obwohl auf einer anderen Seite der selbe Font schon mal gebraucht wurde.
    (by the way die Checkboxen unter dem Commentfeld sind durch den weißen Rahmen nicht sichtbar)

    • Danke für den Hinweis, werde die Kommentarfelder doch farblich etwas abheben. Mit den Fonts sind wir ja einer Meinung, wie dein nächster Kommentar zeigt 🙂

  2. Ok hat sich geklärt … alte Krankheit von mir – erst kommentieren und dann lesen 😉 … sorry

Schreibe einen Kommentar