Un Webhook (in italiano letteralmente: "gancio del web") nella programmazione web è un metodo per estendere o alterare il comportamento di una pagina web, o di un'applicazione web, con chiamate di ritorno (callback) personalizzate. Queste chiamate di ritorno o callback possono essere mantenute, modificate e gestite da utenti di terze parti e chi le sviluppa non fa necessariamente parte del sito o applicazione d'origine. Il termine fu coniato da Jeff Lindsay nel 2007 dal termine inglese della programmazione informatica hooking, che sta ad indicare una serie di tecniche usate per estendere o alterare il comportamento di un sistema operativo, di applicazioni o di componenti software, intercettando chiamate di funzione, messaggi o eventi passati tra le componenti software. Il codice che gestisce le chiamate di funzioni intercettate è chiamato invece "hook".[1]

Descrizione modifica

I webhook sono delle callback HTTP definiti dall'utente[2]. Di solito sono attivati da un evento, al fine di inviare codice su un repository[3], o pubblicare un commento su di un blog.

Quando l'evento si verifica, la fonte fa una richiesta HTTP alla URI configurata per il webhook. Gli utenti possono configurarla per scatenare eventi su un sito per invocare un comportamento su di un altro. I webhook vengono usati comunemente per scatenare l'aggiornamento di sistemi in maniera continuativa[4], o di notificare qualcosa ai sistemi di tracciatura degli errori o bug[5]. Da quando viene adottato il protocollo web HTTP possono essere integrati nei servizi web senza il bisogno di aggiungere nuove infrastrutture[6]. Comunque, esistono diversi modi per creare un servizio di coda di messaggi sopra la struttura HTTP, alcuni esempi RESTful sono IronMQ e RestMS.

Note modifica

  1. ^ Jeff Lindsay, Web hooks to revolutionize the web, su progrium.com. URL consultato il 15 giugno 2017 (archiviato dall'url originale il 26 agosto 2015).
  2. ^ What webhooks are and why you should care, su timothyfitz.com. URL consultato il 15 giugno 2017.
  3. ^ About Webhooks, su help.github.com. URL consultato il 15 giugno 2017.
  4. ^ Jenkins GitHub Commit Hooks HOWTO Archiviato il 25 settembre 2015 in Internet Archive.
  5. ^ Google Project Hosting - Post-Commit Web Hooks
  6. ^ What are WebHooks and How Do They Enable a Real-time Web?, su ProgrammableWeb. URL consultato il 15 giugno 2017.

Voci correlate modifica

Collegamenti esterni modifica

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica