WebPush

RFC 8030

RFC 8291

 

Das WebPush-Protokoll ist durch RFC 8030 (Delivery using HTTP Push) und RFC 8291 (Message Encryption) definiert.

 

Web Push ist ein standardisiertes Protokoll zum Zustellen von Push-Benachrichtigungen an Webbrowser. Es verwendet die Push API, eine Standard-Web-API, die es Websites ermöglicht, sich zu registrieren und Push-Nachrichten zu empfangen. Die Push API ermöglicht es einer Website, Push-Nachrichten an den Browser eines Benutzers zu senden, selbst wenn der Benutzer die Website nicht aktiv durchsucht.

 

Um Web Push zu verwenden, muss eine Website zunächst ein Push-Abonnement vom Browser des Benutzers erhalten. Das Abonnement besteht aus einer eindeutigen Endpunkt-URL und einem Verschlüsselungsschlüssel. Die Endpunkt-URL ist eine URL, die die Website verwenden kann, um Push-Nachrichten an den Browser des Benutzers zu senden, und der Verschlüsselungsschlüssel wird zum Ver- und Entschlüsseln der Push-Nachrichten verwendet.

 

Sobald die Website ein Push-Abonnement erhalten hat, kann sie Push-Nachrichten an den Browser des Benutzers senden, indem sie eine HTTP-Anfrage an die Endpunkt-URL stellt. Die Push-Nachricht wird in einem speziellen Format namens Web Push Protocol Message gesendet, das aus einem Satz von Headern und einem Payload besteht. Die Header enthalten Informationen wie den Verschlüsselungsschlüssel und die TTL (Time-to-Live) der Nachricht, während das Payload den eigentlichen Inhalt der Nachricht enthält.

 

Wenn der Browser des Benutzers eine Push-Nachricht empfängt, entschlüsselt er zuerst die Nachricht mit dem Verschlüsselungsschlüssel. Dann zeigt er dem Benutzer die Benachrichtigung an, zusammen mit allen zusätzlichen Aktionen, die der Benutzer ausführen kann, wie etwa das Verwerfen der Benachrichtigung oder das Öffnen der Website.

 

Um die Sicherheit und Privatsphäre von Push-Nachrichten zu gewährleisten, verwendet Web Push Ende-zu-Ende-Verschlüsselung und erfordert, dass Push-Abonnements über eine sichere Verbindung (z. B. HTTPS) bezogen werden. Außerdem bietet das Protokoll Mechanismen zur Authentifizierung des Absenders einer Push-Nachricht und zur Verhinderung von Missbrauch (z. B. durch Begrenzung der Anzahl der Push-Nachrichten, die eine Website an einen Benutzer senden kann).

 

Komponenten

Es gibt 2 Komponenten, die WebPush unterstützen: