103 Early hintsのざっくりした動き サーバーがアクセス時のリクエストを処理していてbusy状態の時に最低限必要とされるリソースの所在情報を103ヘッダに載せて渡すことができる。処理結果データのレスポンスを実際に返す前にcss等を渡せる #http2study
2017-08-23 21:35:34hoang: HTTP/2リバースプロキシが103を検出してpushすることもできる。3rd partyリソースの場合にはpushは使えない #http2study
2017-08-23 21:36:27hoang: Chromeを選んだのは、Linkプリロードヘッダをサポートしているから。現在のchromeは103を単に無視している #http2study
2017-08-23 21:37:00hoang: 初期アプローチ: 103をparseしてプリロードを取りに行く。しかし問題があった #http2study
2017-08-23 21:37:42hoang: レンダラプロセスとブラウザプロセスはIPCでつながっている。URLリクエストスタックはブラウザプロセスにある。プリロードが始まるまでに、2つのプロセス間でのインタラクションがある #http2study
2017-08-23 21:39:12hoang: 103でプリロードを始めるようにしたいが、レスポンスが来てからしかドキュメント処理(Install New Document)が始まらないという問題がある #http2study
2017-08-23 21:40:12groups.google.com/a/chromium.org… Google Groupにやり取りの経過があった #http2study
2017-08-23 21:40:40hoang: アプローチ: 103を検出した時点でInstall New Documentを発行、プリロードを開始。レスポンスの200が来た時点で合成する #http2study
2017-08-23 21:41:22hoang: 各レイヤで、200が来たときにリセットできるようにする。これはアーキテクチャの変更になる #http2study
2017-08-23 21:42:36kazuho: ユーザーのためには、200レスポンスが受信されるまでは古いページを表示しておきたい。一方、103時点でレンダラが始まってしまうと黒い画面が出てしまうのではないか #http2study
2017-08-23 21:45:31hoang: informational responseをレンダラに届けるにはたくさんのレイヤを修正する必要がある #http2study
2017-08-23 21:47:14会場から質問: この実装を完了するにはどれくらいの時間がかかりそうか。103がdraftから先へ進むにはみんな知りたいだろう hoang: 実装の大変さにもよるけど、1年かもっとかな。少なくとも3か月。Chromiumにとっては最優先ではないだろうし #http2study
2017-08-23 21:49:43jxck: たくさんのレイヤをさわるので、critical rendering pathを変えてしまうだろう。103を使わないページの表示に悪影響が出ないか心配だね hoang: 例えば何が起こりそう? #http2study
2017-08-23 21:51:03jxck: 103を使っていないページのレンダリングが遅くなるとか hoang: わからないが、103をサポートしたければ、プリロードの仕組みは変えないとならないだろう #http2study
2017-08-23 21:52:46英語力は足りてたけど技術力が圧倒的に足りてなくてとてもIQの低そうな質問をしてしまった #http2study
2017-08-23 22:13:50