Webhook
I webhook servono per la comunicazione da server a server. Funzionano da un server che dice a un altro server che vuole che i dati vengano inviati a un certo URL quando succede qualcosa.
Questo articolo parla di alcuni usi dei webhook nei servizi più diffusi. Questa organizzazione parla molto del loro utilizzo nel contesto delle API RESTful.
Websocket
I websocket sono (di solito) per la comunicazione dal server al browser. Il server ospita un server websocket e i client possono aprire una connessione a quel server. Questo è popolare ora soprattutto perché è più veloce e richiede meno risorse rispetto ai vecchi modi di risolvere il problema, come il polling lungo / COMET .
È possibile connettere 2 server utilizzando websocket , ma di solito non è per questo che vengono utilizzati.
La confusione
Anche se uno di questi è (esclusivamente) server-server e uno è (principalmente) browser-server, queste tecnologie sono spesso discusse negli stessi luoghi, quasi come se risolvessero gli stessi problemi. Se guardi la catena abbastanza in alto, vedi che entrambi risolvono il problema della comunicazione "in tempo reale", ma risolvono diversi aspetti di questo problema in modi molto diversi .
Una situazione in cui potrebbe esserci un confronto diretto è se stai creando un'API che verrà utilizzata da un server di terze parti. In questa situazione, potresti fornire un'API webhook o un'API websocket . Entrambi consentono alle terze parti di ottenere rapidamente gli aggiornamenti:
- Se scegli i webhook, quella terza parte dovrà comunque trovare un modo per inviare le modifiche di cui stai parlando ai browser dei loro client.
- Se fornisci un'API websocket, la terza parte può semplicemente configurare il proprio sito in modo che ciascuno dei suoi utenti si connetta direttamente alla tua API websocket e i loro server devono fare meno lavoro.