Cache-Partitionierung: Javascript selber zu hosten, lohnt sich bald mehr

Aus Sicherheitsgründen planen mehrere Browserhersteller, künftig ihre Caches nach Webseiten zu trennen. Das Laden von Resourcen über CDN-Netze lohnt sich danach nicht mehr.

Artikel veröffentlicht am ,
Durch Messen der Zeit bei Webanfragen lässt sich herausfinden, ob Dateien im Cache liegen. Das wollen Browser jetzt unterbinden.
Durch Messen der Zeit bei Webanfragen lässt sich herausfinden, ob Dateien im Cache liegen. Das wollen Browser jetzt unterbinden. (Bild: Chris Desmond, Wikimedia Commons)

Mehrere Browserhersteller planen Änderungen, die dazu führen werden, dass Webressourcen nicht mehr über verschiedene Webseiten hinweg gecacht werden. Darüber berichtet der Web-Programmierer Jeff Kaufman in einem Blogpost. Der Grund dafür sind mögliche Seitenkanalangriffe. Für Webseitenbetreiber bedeutet diese Änderung, dass es in vielen Fällen vorteilhaft sein wird, gängige Webressourcen wie beispielsweise Javascript-Bibliotheken oder Fonts selbst zu hosten und nicht von externen Quellen einzubinden.

Bisher war es so: Wenn zwei verschiedene Webseiten dieselbe Datei einbinden, kann diese beim Laden der zweiten Webseite aus dem Cache geladen werden. Üblich ist das etwa bei Javascript-Bibliotheken. Wer die häufig genutzte Jquery-Bibliothek einsetzt, lädt diese häufig von einem von den Jquery-Entwicklern bereitgestellten Host. Auch gibt es verschiedene CDN-Anbieter für gängige Javascript-Bibliotheken.

Gemeinsamer Cache kann für Seitenkanalangriffe genutzt werden

Aus Performancegründen hat das naheliegende Vorteile: Bei fast allen Nutzern dürfte die aktuelle Version der Jquery-Bibliothek bereits im Browsercache vorhanden sein, sie muss nicht erneut heruntergeladen werden.

Doch das Caching kann zu Sicherheitsproblemen führen. Angreifer können dieses Verhalten nutzen, um herauszufinden, ob eine andere Person in jüngerer Zeit auf einer bestimmten Webseite unterwegs war. Dies geht etwa, indem man eine dort eingebundene Ressource aufruft und anschließend misst, wie schnell der Ladevorgang durchgeführt wurde.

Solche Angriffe, die auch Cross-Site-Leaks oder XS-Leaks genannt werden, sind schon länger bekannt, aber sie wurden zuletzt immer weiter verbessert. Das führt jetzt dazu, dass die Entwickler von Chrome und Firefox den Cache künftig nach Webseiten trennen werden. Aktiv ist die Funktion in den Browsern noch nicht, es ist aber davon auszugehen, dass dies in künftigen Versionen zur Standardeinstellung wird. In Safari gibt es bereits jetzt eine entsprechende Funktionalität.

Konkret bedeutet das: Wenn dieselbe Webseite mehrfach aufgerufen wird, werden die Daten aus dem Cache geladen. Ruft aber eine andere Webseite die von der ersten Webseite genutzten Ressourcen ab, werden diese erneut geladen, da die Caches der Seiten getrennt sind.

Laden vom eigenen Host ohne Cache schneller

Wer als Betreiber einer Webseite gängigen Javascript-Code oder andere Ressourcen - beispielsweise Schriftarten - von einem externen Host zieht, sollte sich überlegen, ob dies in Zukunft noch Sinn macht. Denn in Sachen Geschwindigkeit dürfte das Selbsthosten vorteilhafter sein. Dank der HTTP-Funktion Keep-Alive oder mittels HTTP/2 können mehrere Dateien vom selben Host über eine Verbindung abgerufen werden. Generell ist es außerdem natürlich sinnvoll, darauf zu achten, nicht unnötig viele Ressourcen einzubinden und Javascript- sowie CSS-Dateien komprimiert auszuliefern.

Bei vielen externen Ressourcen, die üblicherweise auf Webseiten eingebunden werden, handelt es sich um Code oder Daten unter freien Lizenzen, aus rechtlicher Sicht ist das Selbsthosten daher in vielen Fällen kein Problem. Jquery beispielsweise steht unter der freien MIT-Lizenz. Auch die häufig von Webseiten eingebundenen Google Fonts stehen alle unter freien Lizenzen und können damit legal selbst gehostet werden.

Aus Sicherheits- und Datenschutzgründen hat es ebenfalls Vorteile. So kann beispielsweise eine Kompromittierung der Hosts von Webressourcen dazu führen, dass Webseiten angegriffen werden. Auch vermeidet man dadurch das Übertragen von Daten über den Webseitenbesuch an Dritte.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Kasselbarth 10. Nov 2019

Lol, ich sag besser nix mehr

twothe 10. Nov 2019

JS hat gegenüber PHP für gerade solche Aufgaben erhebliche Vorteile. Ist die Seite...

FreiGeistler 08. Nov 2019

Davon wird ja nicht einfach so generell abgeraten, sondern weil es sehr unzuverlässig ist.

FreiGeistler 07. Nov 2019

Überhaupt nicht. Es verbleiben mit Decentraleyes einfach jquery & co, die von vielen...



Aktuell auf der Startseite von Golem.de
Cherrypicking bei Fahrdiensten
Uber-Fahrer, die nicht kommen

Die Unsitte, den Fahrgast anzurufen, um das Fahrziel herauszubekommen, schwappt von Free Now auch zu Uber über. Es hilft nur, eine Stunde früher aufzustehen, oder besser: ein Update der Apps.
Ein Erfahrungsbericht von Achim Sawall

Cherrypicking bei Fahrdiensten: Uber-Fahrer, die nicht kommen
Artikel
  1. Custom Keyboard: Youtuber baut riesige Tastatur für 13.500 Euro
    Custom Keyboard
    Youtuber baut riesige Tastatur für 13.500 Euro

    Die Switches haben das 64-fache Volumen und das Gehäuse ist menschenhoch: Ein Youtuber baut eine absurd große Tastatur für absurd viel Geld.

  2. Lohnsteurerhilfe: Emsige Ebayverkäufer sollten Verkaufstagebuch führen
    Lohnsteurerhilfe
    Emsige Ebayverkäufer sollten Verkaufstagebuch führen

    Verkaufsplattformen wie Ebay melden dem Finanzamt private Verkäufe. Um bei Nachfragen auf der sicheren Seite zu sein, sollten Verkäufer Tagebuch führen.

  3. Microsoft: Bing bekommt ChatGPT-Integration und kann getestet werden
    Microsoft
    Bing bekommt ChatGPT-Integration und kann getestet werden

    Microsoft hat KI-basierte Updates für die Bing-Suchmaschine und den Edge-Browser angekündigt. Die Beta ist schon verfügbar.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Powercolor RX 7900 XTX 1.119€ • WSV-Finale bei MediaMarkt • Samsung 980 Pro 2TB (PS5-komp.) 174,99€ • MSI RTX 4080 1.349€ • Samsung 55" 4K QLED Curved Gaming-Monitor -25% • Asus RX 7900 XT 939,90€ • DAMN-Deals: AMD CPUs zu Tiefstpreisen • PCGH Cyber Week nur bis 9.2. [Werbung]
    •  /