ウェブソケットとは

Jun 23, 2016 pm 01:01 PM
websocket

ウェブソケットとは

WebSocket は、HTML5 が提供し始めた、単一の TCP 接続で全二重通信を行うためのプロトコルです。 WebSocket 通信プロトコルは、2011 年に IETF によって標準 RFC 6455 として指定され、RFC7936 によって補足されました。 WebSocket API も W3C によって標準として指定されています。

WebSocket を使用すると、クライアントとサーバー間のデータ交換が簡単になり、サーバーがアクティブにデータをクライアントにプッシュできるようになります。 WebSocket API では、ブラウザとサーバーはハンドシェイクを完了するだけでよく、双方向データ送信のために両者の間に永続的な接続を直接作成できます。

背景

プッシュ技術を実装するために、多くの Web サイトではポーリング技術が使用されています。ポーリングとは、ブラウザが特定の時間間隔 (1 秒ごとなど) でサーバーに HTTP リクエストを発行し、サーバーが最新のデータをクライアントのブラウザに返すことです。この従来のモデルには明らかな欠点があります。つまり、ブラウザはサーバーにリクエストを継続的に送信する必要があります。ただし、HTTP リクエストには長いヘッダーが含まれる可能性があり、実際の有効なデータはその一部にすぎない可能性があり、これは明らかに無駄です。大量の帯域幅とその他のリソース。

ポーリングのための比較的新しいテクノロジーは Comet です。このテクノロジーは双方向に通信できますが、それでも繰り返しリクエストが必要です。さらに、Comet では、一般的に使用される長いリンクもサーバー リソースを消費します。

この場合、HTML5 は WebSocket プロトコルを定義します。これにより、サーバーのリソースと帯域幅がより節約され、よりリアルタイムな通信が可能になります。

利点

● 制御のオーバーヘッドが少ない。接続の作成後にサーバーとクライアントの間でデータが交換される場合、プロトコル制御に使用されるパケット ヘッダーは比較的小さいです。拡張機能を使用しない場合、サーバーからクライアントへのコンテンツの場合、このヘッダーのサイズは (パケット長に関連して) 2 ~ 10 バイトになります。クライアントからサーバーへのコンテンツの場合、このヘッダーには 4 バイトのマスクを追加する必要があります。毎回完全なヘッダーを送信する HTTP リクエストと比較して、このオーバーヘッドは大幅に削減されます。

● リアルタイムパフォーマンスが強化されました。プロトコルは全二重であるため、サーバーはいつでもプロアクティブにデータをクライアントに送信できます。サーバーが応答する前にクライアントがリクエストを開始するのを待つ必要がある HTTP リクエストと比較すると、Comet などの同様の長いポーリング方法と比較しても遅延が大幅に少なく、短期間により多くの回数データを配信できます。時間。

●つながりを保ちましょう。 HTTP とは異なり、Websocket は最初に接続を作成する必要があるため、ステートフル プロトコルとなり、その後の通信中に一部の状態情報が省略される可能性があります。 HTTP リクエストでは、各リクエストにステータス情報 (ID 認証など) を含める必要がある場合があります。

●バイナリサポートの改善。 Websocket はバイナリ フレームを定義しており、HTTP よりも簡単にバイナリ コンテンツを処理できます。

●拡張対応可能。 Websocket は拡張機能を定義しており、ユーザーはプロトコルを拡張して、カスタマイズされたサブプロトコルを実装できます。たとえば、一部のブラウザは圧縮などをサポートしています。

●圧縮効果が向上します。 HTTP 圧縮と比較して、適切な拡張サポートを備えた Websocket は、以前のコンテンツのコンテキストを継承し、同様のデータを送信する際の圧縮率を大幅に向上させることができます。

関連知識の詳細については、PHP 中国語 Web サイト をご覧ください。 !

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 Dec 17, 2023 pm 02:54 PM

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 はじめに: 技術の継続的な発展により、音声認識技術は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音声認識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法を紹介します。

Java と WebSocket の組み合わせ: リアルタイムのビデオ ストリーミングを実現する方法 Java と WebSocket の組み合わせ: リアルタイムのビデオ ストリーミングを実現する方法 Dec 17, 2023 pm 05:50 PM

インターネット技術の継続的な発展に伴い、リアルタイムビデオストリーミングはインターネット分野における重要なアプリケーションとなっています。リアルタイムのビデオ ストリーミングを実現するための主要なテクノロジには、WebSocket と Java が含まれます。この記事では、WebSocket と Java を使用してリアルタイムのビデオ ストリーミング再生を実装する方法を紹介し、関連するコード例を示します。 1. WebSocket とは WebSocket は、単一の TCP 接続で全二重通信を行うためのプロトコルであり、Web 上で使用されます。

PHPとWebSocketを使ってリアルタイム通信を実現する方法 PHPとWebSocketを使ってリアルタイム通信を実現する方法 Dec 17, 2023 pm 10:24 PM

インターネット技術の継続的な発展により、リアルタイム通信は日常生活に欠かせないものになりました。 WebSocket テクノロジーを使用すると、効率的で低遅延のリアルタイム通信を実現できます。また、インターネット分野で最も広く使用されている開発言語の 1 つである PHP も、対応する WebSocket サポートを提供します。この記事では、PHP と WebSocket を使用してリアルタイム通信を実現する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は単一の

golang WebSocketとJSONの組み合わせ:データ送信と解析を実現 golang WebSocketとJSONの組み合わせ:データ送信と解析を実現 Dec 17, 2023 pm 03:06 PM

golangWebSocket と JSON の組み合わせ: データ送信と解析の実現 現代の Web 開発では、リアルタイムのデータ送信がますます重要になっています。 WebSocket は双方向通信を実現するために使用されるプロトコルで、従来の HTTP リクエスト/レスポンス モデルとは異なり、WebSocket を使用すると、サーバーがクライアントにデータをアクティブにプッシュできます。 JSON (JavaScriptObjectNotation) は、簡潔で読みやすいデータ交換用の軽量形式です。

PHP と WebSocket: リアルタイム データ転送のベスト プラクティス PHP と WebSocket: リアルタイム データ転送のベスト プラクティス Dec 18, 2023 pm 02:10 PM

PHP と WebSocket: リアルタイム データ転送のベスト プラクティス方法 はじめに: Web アプリケーション開発では、リアルタイム データ転送は非常に重要な技術要件です。従来の HTTP プロトコルは要求応答モデルのプロトコルであり、リアルタイムのデータ送信を効果的に実現できません。リアルタイム データ送信のニーズを満たすために、WebSocket プロトコルが登場しました。 WebSocket は、単一の TCP 接続上で全二重通信を行う方法を提供する全二重通信プロトコルです。 Hと比べて

WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー Dec 17, 2023 pm 05:30 PM

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

Java と WebSocket を使用してリアルタイムの株価プッシュを実装する方法 Java と WebSocket を使用してリアルタイムの株価プッシュを実装する方法 Dec 17, 2023 pm 09:15 PM

Java と WebSocket を使用してリアルタイム株価プッシュを実装する方法 はじめに: インターネットの急速な発展に伴い、リアルタイム株価プッシュは投資家の注目の 1 つとなっています。従来の株式市場のプッシュ方式では、遅延が大きい、更新速度が遅いなどの問題があり、投資家にとって最新の株式市場情報をタイムリーに入手できないことは、投資判断の誤りにつながる可能性があります。 Java と WebSocket に基づくリアルタイムの株価プッシュはこの問題を効果的に解決し、投資家が最新の株価情報をできるだけ早く入手できるようにします。

Java Websocket はオンライン ホワイトボード機能をどのように実装しますか? Java Websocket はオンライン ホワイトボード機能をどのように実装しますか? Dec 17, 2023 pm 10:58 PM

JavaWebsocket はオンライン ホワイトボード機能をどのように実装しますか?現代のインターネット時代では、人々はリアルタイムのコラボレーションと対話の経験にますます注目しています。オンラインホワイトボードは、Websocketをベースに実装された機能で、複数のユーザーがリアルタイムで共同作業して同じ描画ボードを編集し、描画や注釈などの操作を完了できるようにし、オンライン教育、リモート会議、チームコラボレーション、他のシナリオ。 1. 技術的背景 WebSocket は HTML5 で提供される新しいプロトコルです。

See all articles