Websockets-functionalities

提供:Dev Guides
移動先:案内検索

WebSocket-機能

Web Socketは、Web通信の歴史における主要なアップグレードです。 存在する前は、Webクライアントとサーバー間のすべての通信はHTTPのみに依存していました。

Web Socketは、永続的な全二重の接続の動的フローを支援します。 全二重とは、かなりの高速での両端からの通信を指します。

既存のプロトコルのすべての欠点を克服する効率のため、ゲームチェンジャーと呼ばれています。

開発者およびアーキテクト向けのWebソケット

開発者および設計者にとってのWeb Socketの重要性-

  • Web Socketは独立したTCPベースのプロトコルですが、従来は純粋なTCP接続の上でのみ実行される他のプロトコルをサポートするように設計されています。
  • Web Socketは、他のプロトコルを実行できるトランスポート層です。 Web Socket APIは、サブプロトコルを定義する機能をサポートしています。サブプロトコルは、特定のプロトコルを解釈できるプロトコルライブラリです。
  • そのようなプロトコルの例には、XMPP、STOMP、およびAMQPが含まれます。 開発者は、HTTPリクエスト/レスポンスパラダイムの観点から考える必要がなくなりました。
  • ブラウザー側の唯一の要件は、Web Socketハンドシェイクを解釈し、Web Socket接続を確立および維持できるJavaScriptライブラリを実行することです。
  • サーバー側では、業界標準では、TCP上で実行され、Web Socket Gatewayを活用する既存のプロトコルライブラリを使用します。

次の図は、Webソケットの機能について説明しています-

Web

Webソケット接続はHTTP経由で開始されます。 HTTPサーバーは通常、Webソケットハンドシェイクをアップグレード要求として解釈します。

Web Socketsは、既存のHTTP環境への補完的なアドオンであり、Web機能を追加するために必要なインフラストラクチャを提供できます。 クライアントとサーバー間の双方向のデータフローを可能にする、より高度な全二重プロトコルに依存しています。

Webソケットの機能

Webソケットは、両者がデータの送信を開始できるように、Webサーバーとクライアント間の接続を提供します。

Web Socketの接続を確立するための手順は次のとおりです-

  • クライアントは、Webソケットハンドシェイクと呼ばれるプロセスを介して接続を確立します。
  • このプロセスは、クライアントが通常のHTTP要求をサーバーに送信することから始まります。
  • Upgradeヘッダーが要求されます。 このリクエストでは、リクエストがWeb Socket接続用であることをサーバーに通知します。
  • WebソケットURLは ws スキームを使用します。 また、HTTPと同等のセキュアWebソケット接続にも使用されます。

初期リクエストヘッダーの簡単な例は次のとおりです-

GET ws://websocket.example.com/HTTP/1.1
Origin: http://example.com
Connection: Upgrade
Host: websocket.example.com
Upgrade: websocket