[2023年10月号] Software Design(技術評論社) サマリー+個人メモ

[2023年10月号] Software Design(技術評論社) サマリー+個人メモ
みるみ

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が行っているという形らしい
    • ブラウザはどうなるのっと
      • 「いいバージョンから下がっていくより、下から上がっていくほうがいい」の考え方にもとづき、まずはHTTP/1.1でリクエストし、サーバー側が上位のバージョンに対応していることを示してきたら順次上げていく

Extra Feature

  • 熟考クラウドセキュリティ
    • ちょっと抽象的な話多めだった

    Software Design 2023年10月号

    この号の分のみ単品で読みたい方は、普通にAmazonで買うのがおすすめ。
    紙 or 電子書籍で選べます。

     

    みるみ
    みるみ

    ブロガー、ソフトウェアエンジニア。

    この「みるめも」というブログの筆者です。

    この記事へのコメント
    コメントはまだひとつもありません :)

    新しいコメントを書く

    • 必須項目はコメント本文のみですが、お名前はぜひご記入いただけると嬉しいです。
      ※メールアドレスを書いた場合も公開されることはないのでご安心ください。
    • 特定のコメントに返信したい場合は各コメントにある「返信する」ボタンからどうぞ。
    • コメントはこちらで承認の作業を行うまでは表示されません。ご了承ください。
      ※ここ数年スパムが激化しており、誤って削除されてしまうケースが増えてきました。スパムボックスも毎日自分の目で確認するようにはしているのですが、どうしても限界があります。確実に僕に連絡を取りたい方は メールTwitter からお願いします。