Webhook
# Webhook

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".

## Descrizione

I webhook sono delle callback HTTP definiti dall'utente. Di solito sono attivati da un evento, al fine di inviare codice su un repository, 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, o di notificare qualcosa ai sistemi di tracciatura degli errori o bug. Da quando viene adottato il protocollo web HTTP possono essere integrati nei servizi web senza il bisogno di aggiungere nuove infrastrutture. Comunque, esistono diversi modi per creare un servizio di coda di messaggi sopra la struttura HTTP, alcuni esempi RESTful sono IronMQ e RestMS.

