😺

【初学者によるまとめ】この一冊で全部わかるWeb技術の基本 「Chapter3」>「07 HTTP/1.1のやりとり」

2024/12/09に公開

目的:「イラスト図解式 この一冊で全部わかるWeb技術の基本」の要点を自分なりにまとめ、Qiitaへアウトプットして理解力の向上に努める。

注意点
🤔 ←この絵文字の文章は個人的な見解になります。的外れなこともあるかと思います。

(参考書籍)

  1. イラスト図解式 この一冊で全部わかるWeb技術の基本

(参考サイト)

  1. IT用語辞典
  2. Wikipedia
  3. FUJITSU

HTTP/1.1のやりとり

  • HTTPもプログラムなので歴史的に改良が施されバージョンアップされてきた
    • 現在は"HTTP/1.1"が最も普及しているバージョンとなっている

HTTPキープアライブ

:::note warn
HTTPキープアライブ(HTTP Keep-Alive:「HTTP通信が活きた状態を保つ」)
>>『HTTP通信においてコネクションを度々切断せず、計測して利用できるようにした方式』
:::

※以下、「HTTP通信で取得する"HTML内に画像が埋め込められている"場合」で考える

  • 【HTTP/1.1より前のバージョン】

    1. HTTP通信でコネクションを確立
    2. Webページを受け取ったら<INS>一旦コネクションを閉じる</INS>
    3. その後、Webページ内に画像が必要だと判明
    4. 画像を取得するために再度コネクションの確立
    5. 画像を取得後にコネクションを閉じる
      • '2.' の時点で一旦コネクションを切断するため、
        一つのWebページを構成するために二度のコネクションの管理手間が生じている
      • HTTPリクエスト毎にコネクションの確立が求められる(HTML取得時と画像取得時)
  • 【HTTP/1.1以降】

    1. HTTP通信でコネクションを確立し、<INS>コネクションは切断せず継続</INS>
    2. その後、Webページ内に画像が必要だと判明
    3. <INS>確立済みのコネクション</INS>から画像を取得
    4. 画像を取得後にコネクションを閉じる
      • HTTPリクエストごとにコネクションの確立管理が不要になり効率的になった
      • 昨今のWebコンテンツで画像を必要としないケースは稀であるとして、基本指定が無ければHTTPキープアライブ機能が利用されている

HTTPパイプライン

:::note warn
HTTPパイプライン(HTTP pipelining)
>>『HTTP通信においてコネクションを度々切断せず、計測して利用できるようにした方式』

・"パイプライン" >> 『一つの命令を複数の段階に分割してそれぞれを別々で実行することで、複数の命令の実行を並行して絶え間なく実行する方式。処理時間の短縮が期待できる』
:::

  • HTTP/1.1ではHTTPパイプライン機能が使用可能
    • 従来は、HTTPリクエストを送信したらHTTPレスポンスが返ってくるまで待っていた
    • HTTP/1.1ではHTTPパイプラインによって並行処理が実現され、HTTPレスポンスを待たずともHTTPリクエストが可能になった

Discussion