ソケットは 2 台のマシン間の単なる接続ですか? ソケットを確立できる場合、なぜ HTTPConnection を使用するのでしょうか?
4 に答える
これは、ソケットと HTTP 接続の関係に関する非常に一般的な質問だと思います。また、「HTTPConnection」は、スペースが削除されたキャメルケースの用語であるという方法が別の方法を示唆しているとしても、特定の API/ランタイム/環境を含むものを指していないと思います。
ここまでで、OSI モデルを紹介します。
OSI モデルは、ネットワーク通信の抽象化のレベルを記述します。ソケットは、インターネット プロトコル (IP)の一部として、第 3 層 (ネットワーク層)のどこかに存在する概念です。
HTTPは IP よりも高度に抽象化されており、通常は OSI モデルの「トップ」にあるアプリケーション層にあると見なされます。
アナロジー
ネットワーク要素を定義するのと同じ方法で、異なる「層」で都市の輸送と交通を定義できます。
- 簡単に言うと、都市は建物の集まりです。
- 都市が成長するにつれて、人々は建物から建物へと移動する必要があるため、道路を開発します。道路は都市の新しい「レイヤー」です。
- 道路を利用する人が増えるにつれて、すべての人を安全に保つための規則や法律のシステムが必要になります。
- しかし、道路上で人々が安全になったら、道路が効率的かつ迅速であることを望んでいるため、ライトと標識のシステムは、道路上の人々を調整するのに役立ちます.
2 つの重要なこと:
まず、各レイヤーはその「下」のレイヤーに依存します。建物(目的地)がなければ、道路はばかげています。道路がなければ、交通法はばかげています。交通法がなければ、信号機はばかげています。
第二に、上位層の詳細は、居住している都市によって異なります。人々が左側通行の国にいる場合もあれば、右側通行の場合もあります。赤をオンにできる場合とオンにできない場合があります。道路がある場合もありますが、法律はありません。
アナロジーの終わり
そのため、インターネットでは、さまざまな種類のサーバーと通信することがあります。その下では、それらはすべてソケット (インターネットの「道路」) に依存している可能性がありますが、HTTP、FTP、SOAP などのプロトコルを尊重する必要がある独自の「交通法」があります。
Http は、ソケットの上に構築されたプロトコルです。
Http を使用する場合、ソケットの上でより高いレベルの抽象化を使用しています。あなたはまだソケットを使用しています。
「ファイルしか使えないのに、なぜ .xyz ドキュメントを使うのか?」と言っているようなものです。
ネットワーク通信の OSI モデルについて読んで ください。
ソケットは、トランスポート データに TCP/IP または UPD の低レベル プロトコルを使用する 2 つのリモート システム間の単なるストリームであるとしましょう。HTTP は、システムの通信方法を指定する上位レベルのプロトコルです。
小さな例: air は音声のトランスポート レベルですが、他の ppl との通信には単語 (上位レベルのプロトコル) が必要です。
しかし、ここで読む方が良いでしょう: http://en.wikipedia.org/wiki/OSI_model