ディレクトリ
1.定義
1.1 HTTPとは何ですか?
- アプリケーション層プロトコル
- TCPの合意に基づいて、メッセージを送信するために3ウェイハンドシェイクがなければなりません
- 接続の長さをサポートすることができます
-
クライアントは、サーバーがパッシブ、アクティブです。
2、HTTPとWebSocketの差
- 彼がしているのWebSocket 複数のHTTP要求を開始するクライアントを解決するためのサーバーリソースのブラウザには、回転生まれにおける問題の長い期間を経なければならない、彼は多重実現し、彼は全二重通信です。
- WenSocketサーバの確立が要求元のブラウザのブラウザにリクエストを送信する必要はありません後の情報は、後に送信することができます(情報を送信するためのイニシアチブを取ることができます)
- 情報のうち、もはやヘッドとの情報の一部(サーバー上の圧力を低下させます)
ロングポーリング:つまり、クライアントが長いタイムアウト要求を送信し、応答は、新たなデータの到着を返しました。
3、WebSocketの持続的な接続
3.1HTTP長い接続
長い接続を使用してHTTP1.1デフォルト接続。
TCP接続は、複数の要求/応答メッセージで送信することができますので、本質的にはまだ要求/応答メッセージはまだリソースの無駄になり、リアルタイム性能が強く、他の問題ではありません。
3.2HTTP短いリンク
各リソースはという、根本的なTCPによって使用される新しい接続、HTTP、TCP接続を確立するために、3ウェイハンドシェイクを使用するたびに確立すべき要求応答にそれぞれ対応は、リソースの偉大な廃棄物が発生します。
3.3Websocket持続的な接続
単純にすべてのTCP接続後、要求/応答メッセージを作成する要求/応答メッセージを確立するために必要な回数を生成したヘッダ情報の冗長性を避け、。
4、HTTPステートレス
HTTPプロトコルはステートレスであり、トランザクション処理とメモリ容量のためのプロトコルが存在しないことを意味し、サーバがどのようなクライアントの状態を把握していません。つまり、あなたが開く前に、サーバー上のWebページを開くと、このサーバー上のページ間のリンクがないことです。HTTPはステートレスな接続指向プロトコルであることを意味ステートレスなHTTP TCP接続を維持することができないないが、HTTPプロトコルはUDP(接続なし)を使用して表すことができません。