仕事関連
HTTP(Hypertext Transfer Protocol)とTCP(Transmission Control Protocol)は、インターネットにおいてデータを送受信するためのプロトコルですが、その役割や動作には重要な違いがあります。
1. TCP(Transmission Control Protocol):
- TCPは、インターネットでのデータ通信を制御するためのプロトコルです。
- データの信頼性と順序付けを担当します。データがパケットとして送られる際に、送信元から宛先までの確実な到達を保証します。
- データの分割と再結合、エラー検出と再送信などの機能を提供し、信頼性の高い通信を可能にします。
- TCPは、データの送信先や送信順序の確認を行うために、ハンドシェイクや確認応答などの仕組みを持っています。
- インターネットでのデータ転送の基礎となるプロトコルであり、多くのアプリケーションがTCPを利用して通信を行います。
2. HTTP(Hypertext Transfer Protocol):
- HTTPは、WebブラウザやWebサーバーなどの間でハイパーテキスト文書を送受信するためのプロトコルです。
- ハイパーテキスト文書(HTML)の取得や送信を行いますが、画像、音声、動画、スタイルシート、スクリプトなどの他のリソースも取得できます。
- HTTPは、クライアント(通常はWebブラウザ)からサーバーへの要求(リクエスト)と、サーバーからクライアントへの応答(レスポンス)という形で通信を行います。
- 通常、HTTPはTCPを基盤として動作し、TCP/IPスタックの上に構築されます。
- HTTPは状態を持たないプロトコルであり、各要求が独立しているため、同じクライアントからの複数のリクエストは、それぞれが独立したものとして処理されます。
つまり、TCPはデータの信頼性と順序付けを提供し、HTTPはハイパーテキスト文書やその他のリソースの送受信を行います。HTTPは通常、TCPの上に構築されて動作しますが、HTTP自体はTCPの一種類であり、その目的は異なります。
ローカルPCにプロキシ設定が施されており、スキームがhttp、ポートが8080である場合、ローカルPCからのhttpプロトコルを利用する通信は、まずプロキシサーバを経由して外部サーバに送信されます。
1. ローカルPC上のアプリケーションがhttpプロトコルを利用し、ポート9090を使用して外部サーバに通信を行いたい場合、最初にプロキシ設定が適用されます。
2. アプリケーションは、通信をプロキシサーバに送信するために、プロキシサーバのIPアドレス(またはホスト名)とポート番号8080を使用します。
3. ローカルPC上のプロキシクライアントは、アプリケーションからのリクエストを受け取り、プロキシサーバのIPアドレスとポート番号を使用して通信を開始します。
4. プロキシサーバは、受け取ったリクエストを外部サーバに転送します。この際、httpプロトコルを利用し、ポート9090を使用して外部サーバに接続します。
5. 外部サーバは、プロキシサーバからのリクエストを受け取り、適切な応答を生成します。
6. プロキシサーバは、外部サーバからの応答を受け取り、これを元のリクエストを送信したローカルPCのアプリケーションに返します。
7. ローカルPCのアプリケーションは、プロキシサーバからの応答を受け取り、適切に処理します。
このようにして、ローカルPC上でhttpプロトコルを利用し、ポート9090を使用する通信が、プロキシサーバを経由して外部サーバとやり取りされます。
趣味
TAIMANIN RPG
NIKKE
IT系
- ペアリング済みのBluetooth機器に1アクションで接続したい
- batなどで簡単にできる記事はなさそう...
- こちらはとても有用そうだが、3rd Partyのツールが必要
- 社用PCでメインに使いたいのでちょっとなぁ...(自分のPCならちゃちゃっとやるんだけどw)