Webhook
Ein Webhook ist ein HTTP-Callback, der automatisch ausgelöst wird, wenn ein bestimmtes Ereignis in einem System eintritt. Anders als beim klassischen API -Polling, bei dem ein Client regelmäßig nachfragt, sendet ein Webhook aktiv Daten an eine definierte URL – in Echtzeit, sobald das Ereignis passiert. Webhooks sind die Grundlage für Event-basierte Architekturen und Workflow-Automatisierung .
Wie funktionieren Webhooks?
Das Prinzip ist einfach: 1. Ein System (Sender) registriert eine Ziel-URL beim Empfänger. 2. Wenn ein definiertes Ereignis eintritt (z. B. neuer Commit, Zahlung abgeschlossen), sendet der Sender einen HTTP-POST-Request an die URL. 3. Der Empfänger verarbeitet die Daten und antwortet mit einem Statuscode. Typische Webhook-Events: Git-Push, Stripe-Zahlung, CMS-Content-Update, CI/CD -Pipeline-Status, Formularabsendung.
Webhooks vs. API-Polling
Polling: Der Client fragt regelmäßig nach Änderungen – ineffizient, erzeugt unnötigen Traffic, verzögert die Reaktion. Webhooks: Der Server benachrichtigt aktiv bei Änderungen – effizient, echtzeitnah, reduziert Serverlast. Webhooks sind der bevorzugte Ansatz für Event-Driven-Architekturen. In Kombination mit Message Queues (Redis, RabbitMQ) wird die Verarbeitung entkoppelt und fehlertolerant.
Webhook-Sicherheit
Webhooks empfangen Daten von externen Systemen – sie müssen abgesichert werden: HMAC-Signaturen validieren (der Sender signiert den Payload mit einem gemeinsamen Secret). IP-Whitelisting wo möglich. Rate Limiting auf Webhook-Endpunkten. Idempotente Verarbeitung (dieselbe Nachricht darf mehrmals verarbeitet werden, ohne Seiteneffekte). Webhook-Secrets über Secret Management verwalten, nicht hardcoden.
Webhooks in der Webentwicklung
GitHub Webhooks triggern CI/CD -Pipelines bei jedem Push. Stripe Webhooks benachrichtigen über Zahlungsstatus. Headless CMS -Systeme triggern SSG-Rebuilds bei Content-Änderungen. Monitoring-Tools senden Alerts per Webhook. Chatbots empfangen Nutzernachrichten per Webhook. Die Serverseitige Validierung eingehender Webhook-Daten ist Pflicht, um Manipulation zu verhindern.
Praxis bei BTECH Solutions
Ein Push auf den main-Branch triggert per GitHub-Webhook unsere CI/CD -Pipeline: Angular wird gebaut, prerendert und via FTP deployed. Für Django-Backends lösen Content-Updates einen SSG-Rebuild per Webhook aus. Monitoring -Alerts werden automatisch an Slack weitergeleitet. Jeder Webhook-Empfänger validiert HMAC-Signaturen mit Secrets aus dem Secret Management und verarbeitet Events idempotent – doppelte Zustellungen erzeugen keine Seiteneffekte.