1. TCP/IP は、ネットワーク層、トランスポート層、アプリケーション層の 3 つの層に分類できるプロトコル グループです。
ネットワーク層には、IPプロトコル、ICMPプロトコル、ARPプロトコル、RARPプロトコル、BOOTPプロトコルがあります。
トランスポート層にはTCPプロトコルとUDPプロトコルがあります。
アプリケーション層には、FTP、HTTP、TELNET、SMTP、DNS などのプロトコルがあります。
したがって、HTTP 自体はプロトコルであり、Web サーバーからローカル ブラウザにハイパーテキストを送信するための送信プロトコルです。
2. HTTP プロトコルは要求/応答モデルに基づいています。まず、クライアントはサーバーとの TCP 接続を確立し、リクエスト メソッド、URI、プロトコル バージョン、および関連する MIME スタイル メッセージを含むリクエストをサーバーに送信します。サーバーは、メッセージのプロトコル バージョン、成功コードと失敗コード、およびメッセージの関連する MIME スタイルを含むステータス行で応答します。
HTTP/1.0 は HTTP リクエスト/レスポンスごとに新しい TCP 接続を確立するため、HTML コンテンツと画像を含むページは複数の短期 TCP 接続を確立する必要があります。 TCP 接続の確立には 3 回のハンドシェイクが必要です。
さらに、適切な伝送速度を得るために、TCP は追加の往復接続時間 (RTT) を費やす必要があります。各リンクの確立にはこの種の定期的なオーバーヘッドが必要ですが、実際に有用なデータは伝送されず、リンクの信頼性が確保されるだけです。そこで、HTTP/1.1では持続可能なリンク実装方式を提案しています。 HTTP/1.1 は、TCP 接続を一度確立するだけで、それを繰り返し使用して一連の要求/応答メッセージを送信するため、接続確立の数と通常の接続オーバーヘッドが削減されます。

3. 結論: HTTP 自体はプロトコルですが、最終的には TCP に基づいています。ただし、現在、TCP と UDP を組み合わせた HTTP プロトコルを研究している人もいます。
ソケットとは何ですか?
ソケットは、アプリケーション層と TCP/IP プロトコル ファミリ間の通信のための中間ソフトウェア抽象化層であり、インターフェイスのセットです。設計モードでは、ソケットは実際にはファサード モードであり、複雑な TCP/IP プロトコル ファミリをソケット インターフェイスの背後に隠します。ユーザーにとっては、単純なインターフェイスのセットがすべてであり、Socket は指定されたプロトコルを満たすようにデータを編成します。





