ホームページ  >  記事  >  バックエンド開発  >  ソケットと http の違いをまとめる

ソケットと http の違いをまとめる

伊谢尔伦
伊谢尔伦オリジナル
2017-05-23 10:38:127565ブラウズ

httpアプリケーションの紹介。

HTTP 接続の最も重要な特徴は、クライアントによって送信された各リクエストが、リクエストの完了後にサーバーに応答を返すことを要求することです。コネクションを確立してからコネクションを閉じるまでのことを「コネクション」と呼びます。 1) HTTP 1.0 では、クライアントからの各リクエストは個別の接続の確立を必要とし、このリクエストを処理した後、接続は自動的に解放されます。

2) HTTP 1.1 では、1 つの接続で複数のリクエストを処理でき、1 つのリクエストの終了を待ってから次のリクエストを送信する必要はありません。

HTTP は各リクエストの後に積極的に接続を解放するため、HTTP 接続は「短い接続」です。クライアント プログラムをオンラインに保つには、サーバーへの接続リクエストを継続的に開始する必要があります。通常は、データを取得する必要はなく、クライアントは定期的に「接続維持」リクエストをサーバーに送信し続けます。サーバーは、リクエストを受信した後、クライアントに応答して、そのことを認識していることを示します。クライアントは「オンライン」です。サーバーがクライアントの要求を長時間受信できない場合、クライアントは「オフライン」とみなされ、クライアントがサーバーの応答を長時間受信できない場合、ネットワークは切断されていると見なされます。

TCP/IP と UDP とは何ですか? (TCP/IP (Transmission Control Protocol/Internet Protocol) は、WAN 向けに設計された、伝送制御プロトコル/ネットワーク プロトコルです。

UDP(User Data Protocol、User Datagram Protocol)は、TCPに相当するプロトコルです。これは、TCP/IP プロトコル スイートのメンバーです。

前回の記事では、

ソケットとは何か

、その機能の一部を紹介しました。ソケットは通信の基礎であり、TCP/IPプロトコルをサポートするネットワーク通信の基本操作単位です。これは、ネットワーク通信プロセスのエンドポイントを抽象的に表現したもので、ネットワーク通信に必要な 5 種類の情報 (接続に使用されるプロトコル、ローカル ホストの IP アドレス、ローカル プロセスのプロトコル ポート、ローカル プロセスの IP アドレス) が含まれています。リモートホストとリモートプロセスのプロトコル。アプリケーション層がトランスポート層を介してデータを通信する場合、TCP は複数のアプリケーション プロセスに同時サービスを同時に提供するという問題に遭遇します。複数の TCP 接続または複数のアプリケーション プロセスは、同じ TCP プロトコル ポートを介してデータを送信する必要がある場合があります。さまざまなアプリケーション プロセスと接続を区別するために、多くのコンピュータ オペレーティング システムは、アプリケーションが TCP/IP プロトコルと対話するためのソケット (ソケット) インターフェイスを提供します。アプリケーション層は、トランスポート層とのソケット インターフェイスを使用して、さまざまなアプリケーション プロセスまたはネットワーク接続からの通信を区別し、データ送信のための同時サービスを実装できます。次の図は、Socket の位置を示しています:

Http と Socket の主な違いは、Socket がサーバーとクライアント間の物理接続を実装し、データ送信を実行することです。主要なプロトコルは 2 つあります: TCP/UDP。ソケットはネットワーク プロトコルのトランスポート層にあります。

TCP: 安定性と信頼性の高い接続指向プロトコルである伝送制御プロトコル。クライアントとサーバーが相互にデータを交換するには、データを送信する前に両者の間で TCP 接続を確立する必要があります。

UDP: ブロードキャスト データ送信。UDP は、アプリケーションによって IP 層に渡されるデータグラムを送信するだけで、宛先に到達できるという保証はありません。 UDP はデータグラムを送信する前にクライアントとサーバーの間で接続を確立する必要がなく、タイムアウトによる再送信などの仕組みがないため、送信速度が非常に高速です。

利点: ソケットと http の違いをまとめる

1. 送信データはバイトレベルであり、送信データはカスタマイズ可能であり、データ量は小さいです。モバイル端末の開発に対応し、携帯電話コストが安い

2. データ伝送時間が短く、高性能

3. C/S間のリアルタイム情報やりとりに適している 4. 暗号化が可能で、データの安全性が高い デメリット:

1. 送信されたデータを解析してアプリケーションレベルのデータに変換する必要がある

2. 開発者に対する高い開発レベルの要件

3. HTTP プロトコル送信と比較して開発量が増加

主に HTTP リクエストhttp プロトコル、http プロトコルに基づく SOAP プロトコル、一般的な http データ要求メソッドには get および post、Web サービスが含まれます

利点:

1. アプリケーションレベルのインターフェイスに基づいて使いやすい

2. 必要な開発レベル高くはなく、強力な耐障害性

欠点:

1. 伝送速度が遅く、データパケットが大きい。

2. リアルタイムのインタラクションが実現されると、サーバーのパフォーマンスに大きなプレッシャーがかかります

3. データ送信のセキュリティが劣悪です

該当するシナリオの比較:

ソケットの該当するシナリオ: オンライン ゲーム、銀行取引、支払い。

http 適用シナリオ: 企業の OA サービス、インターネット サービス。

【おすすめ関連チュートリアル】

1.「php.cn Dugu Jiijian (4) - PHPビデオチュートリアル

2.

以上がソケットと http の違いをまとめるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。