【技術書典7】『くいっく』HTTP/3編 を頒布します
サークル「すらりんラボ」の一員として技術書典7に参加します。
※技術書典6ではオーディオの本を出していました
今回はHTTP/3に関する本を頒布予定です。
頒布情報
- 書籍名 : 『くいっく』HTTP/3編
- 価格 : 1,000円 (B5/104ページ)
- ブース : 展示ホールD こ27 (2F)
- 技術書典7 サークル詳細-すらりんラボ
「すらりんラボ」からは すらりん さん著の「DirectX Programing Vol.2」及び「Vulkan Programing Vol.2」も頒布予定です!
こちらの詳細についてはすらりん日記さんの記事を参照ください。
「くいっく! HTTP/3 編」の概要
どんな本なの?
- 対話形式で気軽に HTTP/3 の概要を学べます
- プログラムに似た『魔法』が発展している異世界が舞台です
- 『主人公は魔法技術競技会での優勝を目指す精霊魔術師で……』
というような軽いストーリー仕立てで進行します
- 『主人公は魔法技術競技会での優勝を目指す精霊魔術師で……』
- 対話の後の詳細解説コーナーで深掘りした内容まで把握できます
- HTTP/2 のおさらいも掲載されているのでHTTP/2を知らない人も安心です
サンプル
HTTP/3 って?
- HTTP/2 の弱点を克服することができる HTTP の最新バージョンです
- ただし、現在まだドラフト(仕様策定中)です
- HTTP3 のベースとなるプロトコルである QUIC は Chrome や Opera で既に利用されています
- RFC 発行(標準仕様作成)後は HTTP/3 はほとんどのブラウザに採用されると予想されます
- 今のうちに概要を把握し、未来に備えましょう
- 本書はドラフトバージョン 22 ベースで解説してあります
読む為に必要なスキル
- TCP のことを何となくわかっている方が望ましいです(ハンドシェイクとか)
- パケットロストや暗号化等のネットワークの基礎知識もほんのりあると理解が深まるでしょう
- HTTP/2 の知識はまったくもって不要です
得られる知識
- HTTP/2の特徴と弱点
- HTTP/3の仕組み
こんな人にお勧め
- HTTP/3 の概要や機能を一通り抑えておきたい人
- 新しいプロトコルはとりあえず試してみたい人
- HTTP/3 のドラフトを読むのを挫折した人
こんな人には向いてないかも
- HTTP/3 や QUIC の RFC 並の詳細な仕様や実装を知りたい人
- HTTP/3 の実装例が知りたい人
章立て
- はじめに
- Chapter.1 HTTP/2のおさらい
- 速度の秘訣「ストリーム」
- ストリーム
- フレーム
- 柔軟な通信「プライオリティ」
- プライオリティ
- Stream Weight
- Stream Dependency
- 軽量なヘッダを実現「HPACK」
- HPACK
- HEADERS FRAME
- Huffman Coding
- Indexing Table
- Static Tabel
- Dynamic Tabel
- Literal Header Field
- HPACK Indexed Header Field
- HPACK まとめ
- 速度の秘訣「ストリーム」
- Chapter.2 HTTP/2の問題点
- 暗号化無しでも運用可能です
- DeepDive:HTTP/2と暗号化の関係について
- 再接続すると頭からやり直しです
- プライオリティが複雑過ぎます
- プライオリティの実装状況
- DeepDive:HTTP/2プライオリティの今後
- パケロスはやめてくださいっ!
- TCP Head of line blocking
- DeepDive:HTTP/2とHTTP/1.1はどちらが速い?①
- DeepDive:HTTP/2とHTTP/1.1はどちらが速い?②
- 暗号化無しでも運用可能です
- Chapter.3 HTTP/3を学ぼう
- QUICとHTTP/3の関係
- HTTP/3の特徴
- QUIC
- HTTP/3及びQUICのリリース時期
- HTTP/3のプロトコルスタック
- UDPを知ろう
- UDPの特徴
- IDベースのコネクション管理
- HTTP/3コネクションの管理
- HTTP/3コネクションのライフタイム
- HTTP/3コネクションの設定
- QUICコネクションのクローズ
- HTTP/3コネクションのクローズ
- QUICのパケットタイプ
- Long Header Packets
- QUICのストリーム
- HTTP/3のストリーム
- HTTP/3のフレーム
- QUICのフレーム
- QUICのHeader Protection
- ハンドシェイク高速化の秘密
- HTTP/3のハンドシェイクの流れ(1-RTT)
- HTTP/3のハンドシェイクの流れ(1-RTT)補足
- HTTP/3のハンドシェイクの流れ(0-RTT)
- DeepDive:QUICとTLS 1.3の関係
- パケットロス検出の工夫
- Packet Numberの追加
- QUICのパケットロスの検出方法
- SACKとの違い
- DeepDive:QUICのバージョン互換について
- 通信速度の管理
- QUICのフロー制御
- プライオリティはどうなる?
- HTTP/3のプライオリティの現状
- 新しく提案されたHTTPプライオリティの概要
- ヘッダ圧縮『QPACK』
- HPACKの問題点
- QPACK
- DeepDive:QPACK - Definitions
- DeepDive:QPACK - Dynamic Table
- DeepDive:QPACK - Header Block①
- DeepDive:QPACK - Header Block②
- DeepDive:QPACK - Encoder Instructions
- DeepDive:QPACK - Encoder Process
- DeepDive:QPACK - Decoder
- 実装状況を確認しよう
- HTTP/3及びQUICの実装状況の確認方法
- HTTP/3の実装状況(2019/8時点)
- ツールの実装状況 (2019/8時点)
- まとめ
- QUICとHTTP/3の関係
- Chapter.4 HTTP/3の弱点
- Epilogue
- 参考文献
- イラスト・フォント
それでは、技術書典7でお会いしましょう!