• IT-Karriere:
  • Services:

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.

Stellenmarkt
  1. CURRENTA GmbH & Co. OHG, Leverkusen
  2. Universität Passau, Passau

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


Anzeige
Spiele-Angebote
  1. (-55%) 26,99€
  2. Tom Clancy's Rainbow Six Siege für 7,99€, Assassin's Creed Odyssey für 17,99€, Far Cry 5 für...
  3. 17,99€
  4. 39,99€

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...

mifritscher 06. Nov 2019

Dann baut man halt was rein, dass die Seite bricht, wenn das Einbinden nicht...


Folgen Sie uns
       


Oneplus 8 Pro - Test

Das Oneplus 8 Pro hat eine Vierfachkamera, einen hochauflösenden Bildschirm mit hoher Bildrate und lässt sich endlich auch drahtlos laden - wir haben uns das Smartphone genau angeschaut.

Oneplus 8 Pro - Test Video aufrufen
    •  /