Software Design の2023年10月号について、
- ざっくり内容紹介
- 個人的に気になった記事やポイント
をまとめている記事です。
サマリー記事の一覧はこちら。
特集①:今さら聞けないネットワークセキュリティ
- 思ったより入門寄りの概要特集という感じだった
- 内容はとてもよかったのでなんとなく復習でさらいたいときとかに読むのもいいかもしれない
- VPNのアーキテクチャの章があったのがよい
- 暗号化と認証に関する部分はごく基本的な内容の紹介のみにとどまる
特集②:速習HTTP/3
- HTTP/0.9
- のちのHTTP/1.0と区別するためにバージョニングされた
- 80番でTCP/IPコネクションを確立させHTTPリクエスト→レスポンスという流れの記載がある程度でめちゃくちゃボリュームが少ない
- HTTP/1.0
- ヘッダ、メソッド(0.9ではGETしかなかった)、ステータスコードなどが追加
- HTTP/1.1
- パフォーマンス改善がメイン
- ConnectionやKeep-Aliveなどの追加によりコネクションを効率的に使えるように
- 同一ドメインには使い回すのがデフォルトに
- HTTP/2
- いま思うと2.0じゃなくて2なんだね
- メジャーバージョンが上がったのは、バイナリ形式のフレームを使うようになって互換性がなくなったから、とのこと
- 主な特徴:
- ストリームによる多重化
- 1つのTCPコネクション上に複数のチャネルストリーム
- ここでフレームというバイナリ形式のメッセージが使われる
- 各フレームにはユニークなIDがあるので非同期に順不同で動かせる
- 自分の勝手な理解:例えば同一オリジンに対する /html /css /js の3つのリクエストをするとき、これらをPromise.all()で囲える感じ
- 優先度制御
- 上記のまとめてリクエストする際に優先度をつけることで重要なものを重要視できるよということらしい
- フロー制御
- 受信側のバケツサイズを伝えることであっぷあっぷしないようにする
- 疑似ヘッダー
- コロンから始まるやつ(:method)
- HTTPヘッダー圧縮
- つまりメソッドも :method にして圧縮対象にできちゃうよ
- サーバープッシュ
- 本文で触れられてなかったんだけど、SSEの話とか??
- 後ろのコラムで書かれてた:全然違う話だった
- よくわからなかったが 103 Early Hints の話があった
- ストリームによる多重化
- HTTP/3
- これまでのバージョンを含む各要素などを一元化した概念図があった、わかりやすい
- QUICやUDPはHTTP/3の下に積まれてるような書き方になっている
- もともと HTTP over QUIC という名前だったのがHTTP/3になったらしい
- 「HTTPセマンティクス」は1.1や2のときと同じで、HTTPメッセージをQUICで送るものがHTTP/3になるということらしい
- つまりリクエストもレスポンスも一緒
- 2のストリーム多重化やコネクション管理などはQUICに移っている
- 主な特徴:
- ストリーム単位(HTTP/2と同じ)
- TCP HoL Blockingが発生しない(これもHTTP/2は同じだったはず…)
- 優先度制御がシンプル化した
- 暗号化が必須になった(httpsのこと?)
- そう、HTTP/2でも実質強制だったものの、HTTP/3では本当に通信ができなくされている
- TLS 1.3のみでえらい
- ハンドシェイクが速い
- コネクションマイグレーションが可能になった
- ケータイはさ、歩けばIPアドレスが変わっちゃうわけ。つまりそういうこと!!よくできてますね!!
- ヘッダ圧縮にQPACKを利用(速いの?)
- UDPを採用したわけ:
- もともとFPSや動画配信などで相性がよかったUDPだが、最近の普通のウェブページももはやTCPではそぐわなくなってきていてUDPのほうが妥当だと判断された
- ここで起きる多少の信頼性低下(パケットロス)などのサポートをQUICが行っているという形らしい
- もともとFPSや動画配信などで相性がよかったUDPだが、最近の普通のウェブページももはやTCPではそぐわなくなってきていてUDPのほうが妥当だと判断された
- ブラウザはどうなるのっと
- 「いいバージョンから下がっていくより、下から上がっていくほうがいい」の考え方にもとづき、まずはHTTP/1.1でリクエストし、サーバー側が上位のバージョンに対応していることを示してきたら順次上げていく
- これまでのバージョンを含む各要素などを一元化した概念図があった、わかりやすい
Extra Feature
- 熟考クラウドセキュリティ
- ちょっと抽象的な話多めだった
Software Design 2023年10月号
この号の分のみ単品で読みたい方は、普通にAmazonで買うのがおすすめ。
紙 or 電子書籍で選べます。