IETF 106
Web関連後藤浩之 (グリー)1自己紹介- 後藤 浩之 (グリー)- インフラ担当- ISOC-JP インターネット標準化推進委員会- 興味：Web, HTTP・QUIC関連

2

3

目次- Web Packaging BoF- WebTransport BoF
- その他

4

Web Packaging BoF

5

WebPackaging BoF

Web Packagingについて議論を行うBoF
IETF103頃からSide Meetingを実施しており、今回WG
Forming Bofが開催された（2019年7月に、IAB主導で開催されたESCAPE Workshopで、ステークホルダが集まって議論がすでに行われており、懸念等の表明は行われていた）
6

WebPackaging

Web Packagingとは- Webページを一つのファイルにパッケージングし署名をつけ、再配布可能にする技術
Publisherが署名する
ユーザ（ブラウザ）

Distoributor（CDN）

Publisher（オリジン）
7

WebPackaging

Web Packagingは以下の3点が定義される- ファイルを一つにまとめる方法(フォーマット)- 署名を付ける方法 (署名は必須ではない)- Web Packagingをブラウザで読み込む方法

ユースケース- CDNなどによる配布- オフラインでのWebページ共有- Archive (いわゆるWeb魚拓)
8

補足の背景このWebPackagingの議論は、GoogleのAMPが持つ課題を解決するという背景があります。
AMPとはAccelerated Mobile Pagesの略であり、Google社が中心として進めているプロジェクトです。
AMPで定義された形式に則って記述されたWebページをGoogle社のキャッシュサーバから配信することによって、検索結果からWebサイトへの閲覧を高速化することが目的となっています。

9

引用: https://speakerdeck.com/shigeki/sxg-explained

AMPの例https://internet.watch.impress.co.jp/docs/news/1026158.html

10

補足の背景11

引用: https://speakerdeck.com/shigeki/sxg-explained補足の背景12

引用: https://speakerdeck.com/shigeki/sxg-explained

WebPackaging 実装状況
- GoogleがChromeですでに実装済み。すでに一部サイトで使用され始めている- CloudFlare:-Real URLs for AMP Cached Content Using Cloudflare Workers- Yahoo Japan-SXG（Signed HTTP Exchanges）始めました

13

WebPackaging の仕様
IETFで議論- Signed HTTP Exchanges: 署名及び検証方法を定義- Web Bundles: Webページを 1 つにまとめるフォーマットを定義
W3Cで議論- Loading Signed Exchanges: Web Packagingを表示する方法
その他関連仕様があるが省略
14

Signed HTTP Exchanges
Signed HTTP Exchangesは、HTTP Responseを.sxgという形式にし、それを送る際のレスポンスヘッダに署名をつける
Signature:sig1;
sig=*MEUCIQDXlI2gN3RNBlgFiuRNFpZXcDIaUpX6HIEwcZEc0cZYLAIga9DsVO
MM+g5YpwEBdGW3sS+bvnmAJJiSMwhuBdqp5UY=*;
integrity="digest/mi-sha256";validity-url="https://example.com/resource.validity.1511128380";
cert-url="https://example.com/oldcerts";
cert-sha256=*W7uB969dFW3Mb5ZefPS9Tq5ZbH5iSmOILpjv2qEArmI=*;
date=1511128380; expires=1511733180,
15

Web Bundles
CBOR形式でWebのリソースをHTTPレスポンスとして格納するフォーマット。
Index構造をもち、必要なリソースを読み出すのにファイルすべてを読む必要がないのが特徴。
webbundle = [magic: h'F0 9F 8C 90 F0 9F 93 A6', ( ; 🌐📦 in UTF-8.)
version: bytes .size 4,primary-url: whatwg-url,section-lengths: bytes.cbor [* (section-name: tstr, length: uint) ],sections: [* any ],length: bytes .size 8, ; Big-endian number of bytes in the bundle.
]$section-name /="index" / "manifest" / "signatures" / "critical" / "responses"
16

IETF106での議論
Web Packaging技術に関するユースケースとデモが紹介された。
BoFの中ではユースケースへの理解は得られ、IETFで扱う技術領域であるこ ともコンセンサスが得られました。
引き続きWG Charterの議論が進み、WGへ の結成へ向かうでしょう。

17

WebTransport BoF

18

背景 (Webの双方向メッセージ)
HTTPではリクエストがあってレスポンスが返されます
チャットやゲームのようにリアルタイムで、クライアントやサーバのどちらからでもデータを送信するようなケースでは不向きでした。
そこでWebSocketという技術が生まれました。

19

背景 (Webの双方向メッセージ)
WebSocketはHTTPで確立されたコネクション上で、双方向メッセージを可能にする仕組みです。
W3C側でJavaScriptのインターフェースを、IETFでプロトコルの仕様が標準化されています。

20

背景 (Webの双方向メッセージ)
QUICやHTTP/3といった新しいプロトコルが出てくる中で、このWebでの双方向メッセージでもそれらを活用したいというニーズが出てきた。

21

22
https://datatracker.ietf.org/meeting/106/materials/slides-106-webtrans-webtrans-bof-slides-03

WebTransportの特性と種類
WebTransportで利用する、トランスポート(quic, h3, tcp)によりサポートされる機能が異なる。
over quic

over h3

over tcp

Stream independence

○

○

×

Partial reliability

○

○

×

Pooling support

× (?)

○

○

Connection mobility

△

△

×23

WebTransportの仕様
IETF
●
●
●

OverView: https://tools.ietf.org/html/draft-vvv-webtransport-overview-00
WebTransport over QUIC:https://tools.ietf.org/html/draft-vvv-webtransport-quic-00
WebTransport over HTTP/3https://tools.ietf.org/html/draft-vvv-webtransport-http3-00

W3C●

WebTransport: https://wicg.github.io/web-transport/

24

WebTransportの仕様 (Datagramフレーム)
QUIC上のアプリケーションデータおよびHTTP/3では、パケロスにより失われたデータは必ず再送されます。
Partial reliabilityを実現するために、再送を必要としないアプリケーションデータを運ぶ
Datagramフレームが定義されています(UDPなので、再送も独自に制御できる)-An Unreliable Datagram Extension to QUIC-

(https://tools.ietf.org/html/draft-pauly-quic-datagram-00)

25

IETF106での議論
参加者は多く、このWebTransportへの興味の高さが伺えた。
Hamとして「WebTransportの技術領域と解決する問題は、明瞭でかつ解決されるべきか」という問いかけに対して複雑性への懸念や、他標準化団体との連携およびスコープを明瞭化するようフィードバックがありました。
引き続き、その部分に対するdraftの改善が進められる見込みとなっています。
なお実装としては、Googleの実装が進められています

26

その他

27

その他
HTTP WG, QUIC WG-

HTTP/3のLast Stage Processへ
Priorityの議論、ひとまず方向性が決まる
引き続きHTTPセマンティクスのメンテナンス

Mboned-エニーキャストHTTP配信

28

まとめ

29

まとめ
WebPackaging-

Webサイトをパッケージングし再配布可能にする
すでに実用化されている
WG Formingへ

WebTransport-

QUIC, HTTP/3を利用した、Webでの双方向メッセージプロトコル
スコープと解決する問題を明瞭化し、WG Formingを目指す

30

おわり31