私はいつもリアルタイムのチャットをしたいと思っていました。
私はその数年前にPHP + Ajax + MySQLで実行し、サーバーを壊しました。次に、Flash +でテキストファイルを試してみました。私はあきらめて、10年間試していません。しかし最近、私はWebhookとWebSocketについて聞いた。そして、どちらもそれを行う方法のようですが、私はその違いを完全には理解していません。誰でも説明できますか?
回答:
Webhookは、サーバー間通信用です。これらは、あるサーバーが別のサーバーに、何かが起こったときに特定のURLにデータを送信するように指示することで機能します。
この記事では、人気のあるサービスでのWebhookの使用法について説明します。 この組織は、RESTfulAPIのコンテキストでそれらを使用することについて多くのことを話します。
Websocketは、(通常)サーバーからブラウザーへの通信用です。サーバーはWebSocketサーバーをホストし、クライアントはそのサーバーへの接続を開くことができます。これは主に、ロングポーリング/ COMETなどの古い方法よりも高速でリソースを大量に消費しないため、人気があります。
WebSocketを使用して2つのサーバーを接続することは可能ですが、通常はそれらが使用される目的ではありません。
これらの1つは(排他的に)サーバーサーバーであり、もう1つは(ほとんど)ブラウザーサーバーですが、これらのテクノロジは、同じ問題を解決しているように、同じ場所で議論されることがよくあります。チェーンを十分に高く調べると、どちらも「リアルタイム」通信の問題を解決していることがわかりますが、この問題のさまざまな側面を非常に異なる方法で解決しています。
直接比較できる状況の1つは、サードパーティのサーバーによって使用されるAPIを構築している場合です。そのような状況では、webhookAPIまたはwebsocketAPIを提供できます。どちらも、サードパーティが更新をすばやく取得できるようにします。
WebhookとWebSocketのどちらかを選択するための追加情報を次に示します。
WebSocketを介したサーバー間通信は、新世代のチャットボットアプリで人気が高まっています。現在、多くのチャットボットはWebSocket上で実行され、内部のプライベートボットに公開URLを必要としないという主な利点があります。この環境で、WebhookとWebSocketの使用を検討するタイミングに関するガイドラインを次に示します。
Websocket
Webhook