Einführung der Cross-Origin Storage API

Veröffentlicht: 10. November 2026

Moderne Webanwendungen sind oft auf große Assets wie JavaScript-Frameworks, Game-Engines und KI-Modelle angewiesen. Obwohl die Websites identische Assets verwenden, muss jede Website eine eigene Kopie herunterladen und speichern.

Mit der vorgeschlagenen Cross-Origin Storage API (COS) gibt der Client den gesuchten Inhalt anhand seines Hashs an und ruft ihn von einer beliebigen URL ab, um ihn auf den angegebenen Websites (oder allen Websites) zu teilen. Das bedeutet, dass eine genaue, bekannte Ressource unabhängig von der Bereitstellung des Assets websiteübergreifend freigegeben werden kann. Dieser Vorschlag bietet Sicherheitsvorteile, bringt aber auch Herausforderungen mit sich.

Anwendungsfälle

Wir haben ausführlich über die Bedeutung des Caching von Modellen und des Caching von Assets mit der Cache Storage API geschrieben. Die Cross-Origin Storage API geht noch einen Schritt weiter und kann nützlich sein, wenn mehrere (oder andere) Websites Zugriff auf dieselbe Ressource benötigen:

  • KI-Modelle: Modelle wie Gemma- oder Llama-Varianten sind zwischen etwa einem Gigabyte und mehreren Dutzend Gigabyte groß. Durch das Speichern und Abrufen einer Kopie über COS werden massive doppelte Downloads vermieden. Das ist eine der Hauptmotivationen für den Vorschlag.
  • Wasm-Module: Frameworks wie Flutter stellen Wasm-Dateien bereit, die täglich Millionen Mal von Tausenden verschiedenen Ursprüngen angefordert werden und immer byteidentisch sind.
  • Beliebte JavaScript-Bibliotheken und ‑Frameworks: Wenn Sie Anbieter-Code separat und vollständig bündeln (z. B. die vollständige, nicht per Tree Shaking optimierte React-Bibliothek), können mehrere Apps eine im Cache gespeicherte Kopie über COS gemeinsam nutzen.
  • Spiel-Engines: Browsergames, die auf Engines wie Godot oder Unity basieren, können die Engine-Laufzeit über COS freigeben und nur spielspezifische Assets über das Netzwerk abrufen. Gaming-Portale, die viele Casual Games aus verschiedenen Quellen oder iFrames hosten, profitieren am meisten.
  • Große Webschriftarten: Symbolschriftarten, Emoji-Schriftarten und Schriftarten mit breiter Unicode-Abdeckung werden auf einer enormen Anzahl von Seiten heruntergeladen. Wenn Sie sie einmal über COS freigeben, trägt das sowohl zur Leistung als auch zur Nachhaltigkeit bei.

Grundlegender Ablauf bei der Arbeit mit COS

Die COS API führt eine navigator.crossOriginStorage.getFileHandle()-Methode ein, mit der Web-Apps Dateien über Ursprungsgrenzen hinweg speichern und abrufen können, die durch einen kryptografischen Hash identifiziert werden. In der Erläuterung finden Sie ein Beispiel, das den grundlegenden Ablauf der Arbeit mit der API zeigt.

Mit COS experimentieren

Sie können eine Browsererweiterung aus dem Chrome Web Store, den Firefox-Add-ons oder dem Safari App Store installieren, um die API-Oberfläche und alle Integrationen zu polyfillen.

Testen Sie dann den API-Ablauf im selben Browser.

Interesse am Ökosystem

COS ist ein Vorschlag in der Anfangsphase. Eine Reihe von Projekten bietet bereits experimentelle Unterstützung, in der Regel hinter einem Opt-in-Flag und als progressive Verbesserung:

  • Emscripten gibt die generierte Wasm-Ausgabe frei.
  • Flutter verwendet die Skia-Wasm-Laufzeit.
  • Transformers.js teilt Modellgewichtungen und die Wasm-Laufzeiten, von denen sie abhängen.
  • WebLLM teilt Modelle und Laufzeiten.
  • wllama gibt KI-Modelle frei.
  • Nuxt.js lädt freigegebene Abhängigkeiten aus dem Cross-Origin Storage und verwaltet ein Vite COS-Plug-in.
  • Prompt API Polyfill teilt KI-Modelle über die WebLLM- und Transformers.js-Backends.
  • Prebid.js bietet eine COS-kompatible CDN-Verteilung der Header Bidding-Bibliothek.

Standardisierung

Cross-Origin Storage ist ein Vorschlag der WICG, der sich noch in einem frühen Stadium befindet. Sie können die frühe W3C TAG-Designprüfung lesen.

Ressourcen und Feedback

Feedback zur API und zum Vorschlag ist willkommen.

Außerdem können Sie sich diese Tools und Demos ansehen:

Weitere Hintergrundinformationen

Vorträge und Podcasts