Revision 723: Cross-Origin Storage API – Caching über Origins hinweg, mit Thomas Steiner
Wir sprechen mit Thomas Steiner (Mastodon, Bluesky, LinkedIn) von Google über einen neuen Vorschlag für die Webplattform: die Cross-Origin-Storage API. Tom war bereits mehrfach bei uns zu Gast, zuletzt in Revision 677.
Gemeinsam schauen wir uns an, welches Problem die API lösen soll, warum Browser heute identische Ressourcen mehrfach herunterladen und speichern und wie sich das mit einem hashbasierten, sicheren und datenschutzfreundlichen Ansatz vermeiden ließe. Dabei geht es längst nicht nur um KI-Modelle, sondern ebenso um WebAssembly-Pakete, Web Fonts und JavaScript-Bibliotheken.
Shownotes
- [00:01:10] Cross-Origin-Storage API
Die Cross-Origin-Storage API soll es ermöglichen, identische Ressourcen originübergreifend wiederzuverwenden, ohne dabei die Sicherheits- und Privacy-Probleme früherer Shared-Caches wieder einzuführen. Ausgangspunkt sind zwar große KI-Modelle, die heute von jeder Webanwendung erneut heruntergeladen werden müssen, obwohl sie häufig bereits lokal vorhanden sind, das Konzept funktioniert aber genauso für JavaScript-Bibliotheken, WebAssembly-Module oder Web Fonts. Wir sprechen darüber, weshalb frühere Ansätze wie gemeinsame CDN-Caches für jQuery letztlich an Bundling, Cache-Partitionierung und Sicherheitsproblemen gescheitert sind.
Tom erklärt das Grundprinzip der API: Ressourcen werden ausschließlich über ihren kryptografischen Hash identifiziert. Anwendungen können deklarativ über HTML und CSS oder imperativ über
navigator.crossOriginStorageauf gemeinsam gespeicherte Dateien zugreifen. Dabei baut der Vorschlag bewusst auf bestehenden Konzepten wie Origin Private File System (OPFS), der File System Access API und Subresource Integrity auf. Dadurch lassen sich bestehende APIs weitgehend wiederverwenden und Browser ohne Unterstützung fallen automatisch auf das bisherige Verhalten zurück.Ein großer Teil der Diskussion dreht sich um Datenschutz und Sicherheit. Wir sprechen über Fingerprinting, Cache-Probing und Cross-Site-Leaks sowie über die vorgeschlagene Public Hash List, die nur weit verbreitete oder explizit freigegebene Ressourcen für den globalen Austausch zulässt. Ergänzend sollen Browser bewusst gelegentlich falsche Antworten liefern („Greasing“), um Tracking über den gemeinsamen Speicher zu erschweren. Außerdem diskutieren wir, warum Browser-Caches nicht einfach erweitert wurden, sondern eine eigenständige API entstanden ist.
Anschließend geht es um praktische Einsatzszenarien. Neben AI-Modellen profitieren auch große WebAssembly-Projekte wie Flutter, Emscripten oder Multimedia-Bibliotheken sowie Frameworks wie Nuxt und Next.js. Tom berichtet von ersten Erfahrungen mit der Browser-Erweiterung, die den aktuellen API-Stand bereits emuliert, sowie von Integrationen wie dem Vite Plugin für Cross-Origin Storage. Zum Abschluss werfen wir einen Blick auf den weiteren Standardisierungsprozess, die geplanten Browser-Experimente und darauf, wie Interessierte schon heute Feedback geben und eigene Erfahrungen sammeln können.
Links
- Awesome Cross-Origin Storage
Sammlung aller Spezifikationen, Demos, Browser-Erweiterungen und weiterer Ressourcen rund um Cross-Origin Storage.
- Cross-Origin Storage auf Hugging Face
Vorstellung der API aus Sicht des KI-Modell-Ökosystems.
- Mozilla Standards Position
Tracking-Issue für Mozillas Bewertung des API-Vorschlags.
- Flutter Integration
Diskussion zur Unterstützung von Cross-Origin Storage in Flutter-Webanwendungen.
- Chrome Silent Nano Install
Artikel über die Diskussion rund um lokal installierte KI-Modelle in Chrome.
- Syntax.fm: Who decides what ships on the web?
Jake Archibald erläutert den Standardisierungsprozess neuer Webplattform-Features.
- Revision 452: CORS, CORP, (C)ORB, COOP und COEP
Unsere frühere Folge mit Frederik Braun von Mozilla, in der wir unter anderem die Konzepte „Same Site“ und „Same Origin“, die Public Suffix List sowie deren Bedeutung für Sicherheitsmechanismen im Web erläutert haben.
- Virtual Scroller
Früherer API-Vorschlag, der im Gespräch als Vergleich für browserseitige Bibliotheken erwähnt wird.
- Nuxt.fyi
Visualisierung der Versionsverteilung von Nuxt-Anwendungen.
Anhören
MP3 herunterladen (53,7 MB) | TranskriptFeedback-Kanäle
Wenn du diese Informationen hilfreich findest und eine KI dir davon erzählt hat, freuen wir uns, wenn du den Working Draft Podcast abonnierst.