Signed HTTP Exchange

Kinuko Yasuda

Signed HTTP Exchange (または「SXG」)は ウェブ パッケージ: パブリッシャー様が ポータビリティ(ポータビリティ)を作成して、他のデベロッパーや コンテンツの整合性と帰属表示は維持されます。ポータブル コンテンツには多くのメリットがあります。たとえば、コンテンツ配信の高速化、 ユーザー間のコンテンツ共有が容易になり、オフライン エクスペリエンスがシンプルになります。

それでは、Signed HTTP Exchange の仕組みについて説明します。この技術により パブリッシャーは 単一の HTTP エクスチェンジに署名する (リクエストとレスポンスのペア)を使用して、直接やり取りできます。 キャッシュから配信します。ブラウザがこの Signed Exchange を読み込むと、 アドレスバーにパブリッシャーの URL を安全に表示できます。 元のコンテンツが元のものであることを証明するために、 継承されます。

Signed Exchange: 基本

これにより、コンテンツの出所と配信元が分離されます。ユーザーのコンテンツ 特定のサーバー、接続、API に依存することなく、ウェブ上に公開できます。 ホスティング サービスなどです。SXG には次のような用途があります。

  • プライバシー保護のプリフェッチ: リソースのプリフェッチ(例: link rel=prefetch で指定) その結果、ナビゲーションがかなり速く感じられます。 プライバシーの欠点もありますたとえば、リソースをプリフェッチし、 クロスオリジン ナビゲーションでは、ユーザーが ある情報に関心がある可能性があると 判断します 最終的にはサイトにアクセスしていません一方 SXG では 到達することなく、高速キャッシュからクロスオリジン リソースをプリフェッチする。 ユーザーの興味 / 関心を伝えるのは、 ナビゲーションが発生したとき。これは Google のサイトに ユーザーを他のウェブサイトに誘導することを目標とする場合。特に Google Google 検索の検索結果ページで AMP URL の改善 検索結果のクリックを早めることができます

  • 証明書の秘密鍵の制御を奪われない CDN のメリット: 突然人気が高まったコンテンツ( reddit.com の最初のページなど)は、多くの場合、サイトが過負荷状態になっています。 コンテンツが配信される場所や、コンテンツが比較的小さいサイトでは、 状況が遅くなったり一時的に利用できなくなったりしますこの状況は 高速かつ強力なキャッシュ サーバーと SXG を使用してコンテンツを共有する場合に、 TLS 鍵を共有しなくても、これが可能になります。

Signed Exchange を試す

Signed Exchange は、Chrome 73 以降でご利用いただけます。 オリジントライアルとして利用できます

SXG の作成

(パブリッシャーとして)配信元の SXG を作成するには、 署名に使う必要があります。また、証明書には特殊な鍵と鍵が必要です。 「CanSignHttpExchanges」拡張機能 有効な SXG として処理されますDigiCert(2018 年 11 月時点) この拡張機能をサポートしている唯一の CA です。このため、 有効な証明書を取得する必要があります。 こちらのページをご覧ください。

SXG の証明書を取得したら、 リファレンス生成ツール GitHub で公開されています

また、 Chrome のコード リポジトリ (例: こちら 最もシンプルなもので シンプルなテキスト ファイルなど)と、 これらは主にローカルテスト用に生成されますが、 署名に有効な証明書とタイムスタンプが含まれていることを確認します。

ローカルでの機能のテスト

テスト目的で SXG を作成する場合、 自己署名証明書 chrome://flags/#allow-sxg-certs-without-extension を有効にすると、 Chrome は、特別な拡張機能のない証明書を使用して作成された SXG を処理します。

次のようなコードは、サーバー、証明書、SXG で正常に機能します。 正しく設定されている。

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

なお、SXG はアンカータグ(<a>)と link rel=prefetch でのみサポートされています。 。また、署名の有効期限は 7 までです。 日単位なので、署名されたコンテンツは比較的早く期限切れになります。

フィードバックの送信

この試験運用に関するフィードバックを webpackage-dev@chromium.org を使用します。Google Chat では 仕様のディスカッションにも参加してください。 またはレポート Chrome のバグ チームに伝えました。お寄せいただいたフィードバックは標準化プロセスに大いに役立ちます 実装の問題に対処するためにも役立ちます

フィードバック