Signed HTTP Exchanges

Kinuko Yasuda

Signed HTTP Exchange (oder „SXG“) ist eine Untergruppe der aufstrebenden Technologie namens Webpakete, mit denen Publisher ihre Inhalte sicher übertragbar, d.h. zur Weitergabe durch andere die Integrität und Zuordnung der Inhalte gewahrt. Tragbar haben viele Vorteile, von einer schnelleren Inhaltsübermittlung erleichtern das Teilen von Inhalten unter Nutzern und vereinfachen die Offlinenutzung.

Wie funktionieren also Signed HTTP Exchanges? Mit dieser Technologie können Publisher Einzelnen HTTP-Austausch signieren (d.h. ein Anfrage/Antwort-Paar) so, dass das Signed Exchange-Paket die von einem beliebigen Caching-Server bereitgestellt werden. Wenn der Signed Exchange-Paket im Browser geladen wird, kann die URL des Publishers ohne Bedenken in der Adressleiste angezeigt werden, da die Signatur im Austausch ein ausreichender Nachweis dafür ist, dass die Inhalte ursprünglich aus dem die Herkunft des Publishers.

Signed Exchange: Die Essenz

Dadurch wird die Herkunft der Inhalte von der Person entkoppelt, die sie verbreiten. Ihre Inhalte im Web veröffentlicht werden können, ohne einen bestimmten Server, eine bestimmte Verbindung, oder Webhosting-Dienst. Wir freuen uns über mögliche Einsatzmöglichkeiten von SXG wie zum Beispiel:

  • Datenschutzfreundlicher Vorabruf:Beim Vorabruf von Ressourcen (z.B. per Link rel=prefetch) kann die Navigation für eine nachfolgende Navigation schneller anfühlen. auch Nachteile im Hinblick auf den Datenschutz hat. Das Vorabrufen von Ressourcen für Bei ursprungsübergreifenden Navigationen wird gegenüber der Zielwebsite offengelegt, an einer Information interessiert sind, auch wenn der Nutzer die Website letztendlich nicht besucht haben. SXG ermöglicht hingegen ursprungsübergreifenden Ressourcen vorab aus einem schnellen Cache abzurufen, an die Zielwebsite weiterleiten und so das Nutzerinteresse nur dann wann die Navigation erfolgt. Wir sind der Meinung, dass dies für Websites nützlich sein kann, deren Ziel darin besteht, Nutzer auf andere Websites weiterzuleiten. Insbesondere hat Google plant, dies auf Google-Suchergebnisseiten AMP-URLs zu verbessern und die Anzahl der Klicks auf Suchergebnisse.

  • Vorteile eines CDN, ohne die Kontrolle über den privaten Zertifikatschlüssel zu verlieren: Inhalte, die plötzlich beliebt sind (z.B. verlinkt von die erste Seite von reddit.com, überlastet, wo der Content geschaltet wird. Wenn die Website relativ klein ist, ist sie eher verlangsamt oder sogar vorübergehend nicht verfügbar sind. Diese Situation kann vermieden werden, wenn die Inhalte über schnelle, leistungsstarke Cache-Server und SXG freigegeben werden. ohne Ihre TLS-Schlüssel freizugeben.

Signed Exchanges ausprobieren

Signed Exchanges sind in Chrome 73 und höher verfügbar als Ursprungstest verfügbar.

SXG wird erstellt

Wenn du SXGs für deinen Ursprung (als Verlag oder Webpublisher) erstellen möchtest, benötigst du ein Schlüssel zum Signieren der Signatur und das Zertifikat muss einen speziellen „CanSignHttpExchanges“ Erweiterung als gültiger SXG verarbeitet werden. Stand November 2018: DigiCert ist die einzige Zertifizierungsstelle, die diese Erweiterung unterstützt, und Sie können den das für SXG von dieser Seite.

Sobald du ein SXG-Zertifikat erhalten hast, kannst du deine eigenen SXGs mit dem Referenzgenerator-Tools auf GitHub veröffentlicht.

Ihr könnt euch auch die tatsächlichen SXG-Beispieldateien im Das Code-Repository von Chrome (z.B. diese ist die einfachste Möglichkeit, einer einfachen Textdatei). Sie werden hauptsächlich für lokale Tests generiert. ob die Signatur gültige Zertifikate und Zeitstempel enthält.

Funktion lokal testen

Zum Erstellen von SXGs zu Testzwecken kannst du ein selbst signiertes Zertifikat und aktiviere chrome://flags/#allow-sxg-certs-without-extension, Chrome verarbeitet die mit dem Zertifikat erstellten SXGs ohne die spezielle Erweiterung.

Code wie der folgende sollte funktionieren, wenn Ihr Server, Ihr Zertifikat und Ihre SXGs ordnungsgemäß eingerichtet sind:

<!-- prefetch the sample.sxg -->
<link rel="prefetch" href="https://your-site.com/sample.sxg" />

<!-- clicking the link below should make Chrome navigate to the inner
     response of sample.sxg (and the prefetched SXG is used) -->
<a href="https://your-site.com/sample.sxg">Sample</a>

Hinweis: SXG wird nur vom Anchor-Tag (<a>) und link rel=prefetch unterstützt. in Chrome 73 und höher. Beachten Sie außerdem, dass die Gültigkeit der Signatur auf sieben Tage pro Spezifikation, sodass Ihre signierten Inhalte relativ schnell ablaufen.

Feedback geben

Wir freuen uns auf dein Feedback zu diesem Experiment unter webpackage-dev@chromium.org. Sie können können Sie sich auch an der Spezifikationsdiskussion beteiligen, oder melden Chrome-Programmfehler für das Team. Ihr Feedback wird uns bei der Standardisierung enorm unterstützen. und bei der Implementierung helfen.

Feedback