HTML5 Conference - HTTP/2の現状とこれから #html5j #html5j_b

5
Yoshikazu GOTO @goto_ipv6

大津さん:HTTP/2は効率的: ・TCPは一本 →ウィンドウサイズは最大に →途中で他の通信があっても、その時は下がるが、すぐに最大に #html5j #html5j_b

2015-01-25 14:31:15
Yoshikazu GOTO @goto_ipv6

大津さん:HTTP/1.1は処理が煩雑なテキストプロトコル: ・テキストであることによって、いろいろな条件が入ってしまう →空白、データーの場所、改行など →パースして処理しなければならない →→人間の目から見ると楽だが… #html5j #html5j_b

2015-01-25 14:32:08
Yoshikazu GOTO @goto_ipv6

大津さん:HTTP/2はきっちりとしたバイナリープロトコル: ・データの位置、サイズ、型が明確 →処理も簡潔に →→高速化、誤りの少なさ、相互接続の良さ #html5j #html5j_b

2015-01-25 14:32:48
hebikuzure rené @hebikuzure

確かに「ヘッダーの値の中で改行しても良いのか」でえらく大変な目に合ったこと、あるからなあ。 #HTML5j #html5j_b

2015-01-25 14:33:45
Yoshikazu GOTO @goto_ipv6

QT @ipv6labs: @goto_ipv6 問題は Proxy とか UTM・FW なんだよね・・・ #html5j #html5j_b

2015-01-25 14:34:42
Yoshikazu GOTO @goto_ipv6

QT @ipv6labs: @goto_ipv6 ただフォワードすると ESP みたいな扱いになって、守ったり、解析できない。 #html5j #html5j_b

2015-01-25 14:35:44
Yoshikazu GOTO @goto_ipv6

大津さん:現状(SPDY,HTTP/2): #html5j #html5j_b

2015-01-25 14:36:27
Naoki Nagazumi @naongzm

パフォーマンスの違いは明白だ #html5j #html5j_b

2015-01-25 14:36:30
Yoshikazu GOTO @goto_ipv6

大津さん:SPDYのブラウザー対応状況: ・SPDY →ほとんどのブラウザーが対応済み →HTTP/2仕様策定完了後はこちらに移行見込み #html5j #html5j_b

2015-01-25 14:37:19
Yoshikazu GOTO @goto_ipv6

大津さん:HTTP/2の対応状況: ・Firefox35:デフォルト有効(ちょっと古いバージョン) ・Chorome41:デフォルト有効(ちょっと古いバージョン) ・IE on Windows10:(同上) #html5j #html5j_b

2015-01-25 14:38:10
Yoshikazu GOTO @goto_ipv6

大津さん:HTTP/2を見るには?: ・chorome://net-internals/#spdy →フレームの概要もわかる ・Firefox →デバッグログを見るしか無い →利用プロトコル名はレスポンスヘッダーに付与 #html5j #html5j_b

2015-01-25 14:39:04
Yoshikazu GOTO @goto_ipv6

大津さん:HTTP/2の最終仕様概要: #html5j #html5j_b

2015-01-25 14:39:25
Taketo Takashima @taketo1113

HTTP/2 のプライオリティの話。これも(リソースの読み込み順に依存するような)パフォーマンスかなり影響しそう。 #html5j #html5j_b

2015-01-25 14:40:00
Yoshikazu GOTO @goto_ipv6

大津さん:HTTP/2プライオリティ: ・前から入っていたが、どういう技術にするかを議論 ・Webの高速化には非常に重要 #html5j #html5j_b

2015-01-25 14:41:01
Yosuke Kurami @Quramy

プライオリティが普及すれば、<body>のケツに<script>書くようなことはHTTP2でやらなくてよくなるのかしら? #html5j_b

2015-01-25 14:41:24
Yoshikazu GOTO @goto_ipv6

・ユースケース →ファイルタイプ(HTML/CSS/JS/画像)に応じた返答順序の確定 →タブ切り替えによる重みの上げ下げ →分割されたビデオデータなど順番が明示的に決められている場合 →→全体の表示速度を妨げるので、順序ごとに→優先付け #html5j #html5j_b

2015-01-25 14:42:04
Yoshikazu GOTO @goto_ipv6

大津さん:Firefox38のプライオリティ依存機能(h2-16): ・5つくらいアンカーを付け →ファイルの種類ごとに、どこのストリームに寄せるかを優先付け →HTML、その次にCSSやJSを、先に送るように #html5j #html5j_b

2015-01-25 14:43:32
Taketo Takashima @taketo1113

HTTP/2 のプライオリティは Firefox 38 で実装されている。ブラウザがレンダリングするときに最適してくれる未来がくるかも。(ここも実装依存じゃなくてちゃんと標準化されると開発者としてはうれしいかも) #html5j #html5j_b

2015-01-25 14:43:50
Yoshikazu GOTO @goto_ipv6

大津さん:HTTP/1.1セマンティクスと非互換なところ: ・ホップバイホップ ヘッダーの利用禁止 →ホップバイホップ間の通信制御はHTTP/2フレームの役割であるため、HTTPヘッダーによる制御を禁止 #html5j #html5j_b

2015-01-25 14:45:26
Yoshikazu GOTO @goto_ipv6

→Connection、Transfer-Encoding、TE、Upgrade、Keep-Alive、Proxy-Connectionヘッダーは利用禁止 #html5j #html5j_b

2015-01-25 14:45:27
Yosuke Kurami @Quramy

keep-aliveはHTTP1.1の最も嫌いなヘッダなので、禁止は嬉しい #html5j_b

2015-01-25 14:45:41
Yoshikazu GOTO @goto_ipv6

大津さん:TLS利用条件の厳格化: ・HTTP/2は、仕様上平文での接続も規定されており、TLS利用は必須ではなくなった →メジャーなブラウザーベンダーは、これはオプションだから、と、TLS利用したHTTP/2のみをサポート #html5j #html5j_b

2015-01-25 14:46:39
Taketo Takashima @taketo1113

HTTP/2 の TLS の話。仕様的には最終的に "TLS 利用は必須卯じゃなくなった"。ただし、FIrefox や Chrome は TLS 利用した HTTP/2 のみサポート。 #html5j #html5j_b

2015-01-25 14:47:10