私はいつもリアルタイムのチャットをしたいと思っていました。
私は何年も前にPHP + Ajax + Mysqlでやってきて、サーバーを壊しました。次に、Flash +でテキストファイルを試しました。私はあきらめて、10年も試していません。しかし最近、ウェブフックとウェブソケットについて聞いたことがあります。そして、それらは両方ともそれを行う方法のように思えますが、私は実際にその違いを完全には把握していません。誰でも説明できますか?
Webhooks は、サーバー間通信用です。これらは、あるサーバーが別のサーバーに、何かが発生したときに特定のURLにデータを送信することを要求することによって機能します。
この記事 は、人気のあるサービスでのウェブフックのいくつかの使用について説明しています。 この組織 は、RESTful APIのコンテキストでそれらを使用することについて多くを語っています。
Websockets は(通常)サーバーからブラウザーへの通信用です。サーバーはWebsocketサーバーをホストし、クライアントはそのサーバーへの接続を開くことができます。これは、 long-polling / [〜#〜] cometのように、問題を解決する従来の方法よりも高速でリソースを大量に消費しないため、現在人気があります。 [〜#〜] 。
websockets を使用して2つのサーバーを接続することは可能ですが、通常はそれらが使用されるものではありません。
これらの1つは(排他的に)サーバーサーバーで、もう1つは(ほとんど)ブラウザーサーバーですが、これらの技術は、同じ問題を解決しているように、同じ場所で議論されることがよくあります。チェーンを十分に調べてみると、どちらも「リアルタイム」通信の問題を解決していることがわかりますが、この問題のさまざまな側面を非常に異なる方法で解決しています。
直接比較できる状況の1つは、サードパーティのサーバーによって消費されるAPIを構築している場合です。その場合、webhook APIまたはwebsocket APIを提供できます。両方とも、サードパーティが迅速に更新を取得できるようにします。
以下は、webhookとwebsocketのどちらかを選択するための追加情報です。
Websocketを介したサーバー間通信は、新世代のチャットボットアプリで一般的になっています。現在、多くのチャットボットはWebsocketを介して実行され、内部のプライベートボットに公開URLを必要としないという主な利点を提供します。この環境では、webhookとwebsocketの使用を検討する場合のガイドラインを次に示します。
Websockets
Webhooks