HTTP の仕組み

HTTP の仕組み

  1. HTTP はリクエスト/レスポンスのモデルを使う。クライアントがリクエストを送り、サーバーが状態を応答する。
  2. HTTP のリクエスト/レスポンスの手順:
  3. クライアントが Web サーバーへ接続する:HTTP クライアントが TCP 接続を確立する。
  4. クライアントが HTTP リクエストを送る:確立した TCP 接続を通してリクエストメッセージを送る。
  5. サーバーが HTTP リクエストを受け取り応答する:リクエストを解析してリソースを探し、そのコピーを TCP 接続へ書き込み、クライアントが読む。
  6. TCP 接続の解放:connection が close ならサーバーが能動的に閉じ、クライアントが受動的に閉じる。keepalive なら接続は一定時間維持され、その間さらにリクエストを受け付ける。

ブラウザーが HTML を解析する:サーバーから返された HTML テキストを解析して表示する。

1.ブラウザーは DNS サーバーに、URL のドメインに対応する IP アドレスを問い合わせる。 2.IP アドレスの解決後、そのアドレスと既定のポート 80 で TCP 接続を確立する。 3.ブラウザーは URL のドメイン以降に対応するファイルを読む HTTP リクエストを送る。そのリクエストは TCP の三者間ハンドシェイクの三番目のメッセージのデータとして送られる。 4.サーバーはリクエストに応答し、対応する HTML テキストをブラウザーへ送る。 5.TCP 接続を解放する。 6.ブラウザーが HTML テキストを処理し、内容を表示する。

HTTP のステートレス性

1.HTTP はステートレスで、同じクライアントが同じサーバーのページへ再度アクセスしても、サーバーは前の訪問を認識できず、クライアント同士を区別できない。この性質はサーバー設計を単純化し、多数の同時 HTTP リクエストへの対応を容易にする。

HTTP の持続的接続

1.HTTP1.0 は非持続的接続を使う。要求するオブジェクトごとに新しい接続を確立・維持する必要があり、一文書につき RTT 二回分の費用がかかる。一ページに複数のオブジェクトがあるとダウンロードが遅くなり、ネットワークの負荷も増える。HTTP1.1 は keepalive による持続的接続を使う。応答後も一定時間接続を保ち、一つの接続で複数のリクエストと応答を扱う。TCP 接続を閉じないので、クライアントは同じ接続から別のオブジェクトを要求できる。

HTTP/1.1 の持続的接続には二つの方式がある:

  1. 非パイプライン方式:前の応答を受け取ってから次のリクエストを送る。
  2. パイプライン方式:HTTP の応答を受け取る前に、次のリクエストを送れる。
最新情報を受け取る

Telegram や X で毎週のリサーチ、市場シグナル、上場情報をチェック。