1. ホーム
  2. sockets

[解決済み] ソケットプログラミングとHttpプログラミングの違い

2022-03-11 03:40:38

質問

ソケットプログラミングとHttpプログラミングの違いは何ですか? どなたか教えてください。

どのように解決するのですか?

HTTPはアプリケーションプロトコルです。これは基本的に、HTTP自体がリモートエンドポイントとの間で情報を転送するために使用できないことを意味します。その代わりに、HTTPの場合はTCPである基礎的なプロトコルに依存します。

を読むことができます。 OSIレイヤー をご覧ください。

一方、ソケットは、ほとんどのOSがネットワークと通信できるように提供するAPIです。ソケットAPIは、トランスポート層から下のさまざまなプロトコルをサポートしています。

つまり、TCPを使いたい場合は、ソケットを使うということです。しかし、ソケットを使ってHTTPで通信することもできますが、その場合、HTTPの仕様に従ってメッセージをデコード/エンコードする必要があります( RFC2616 ). これはほとんどの開発者にとって大変な作業なので、私たちは(.NETのような)開発者用フレームワークでクライアントを用意し、たとえば WebClient または HttpWebRequest クラスがあります。