Bases des technologies web
Le serveur d'un commerçant veut savoir immédiatement qu'un paiement est terminé sur un service de paiement en ligne. Quelle description de la méthode dans laquelle le service de paiement envoie une notification par une requête HTTP POST à une URL enregistrée à l'avance par le commerçant (webhook) est correcte ?
- ALe commerçant n'a pas besoin d'interroger le service de paiement à intervalles réguliers : une notification n'arrive que lorsqu'un changement se produit. On vérifie l'authenticité des notifications reçues, par exemple au moyen d'une signature
- BLe serveur du commerçant n'a pas à accepter de requêtes venant de l'extérieur, si bien que l'URL de réception des notifications n'a pas besoin d'être publiée sur Internet
- CLes notifications arrivent par une connexion WebSocket ouverte avec le navigateur, si bien que le responsable du commerçant doit toujours garder son navigateur ouvert
Afficher la réponse et l'explication
Réponse : A. Le commerçant n'a pas besoin d'interroger le service de paiement à intervalles réguliers : une notification n'arrive que lorsqu'un changement se produit. On vérifie l'authenticité des notifications reçues, par exemple au moyen d'une signature
Avec un webhook, le service où s'est produit un événement prévient le destinataire en envoyant une requête HTTP à l'URL que ce dernier a enregistrée. Par rapport à des interrogations répétées de l'état par le destinataire, il n'y a pas de requêtes inutiles et les changements sont connus immédiatement. En contrepartie, le destinataire doit accepter des requêtes provenant d'Internet ; il vérifie donc l'authenticité des notifications, par exemple à l'aide d'une signature calculée avec une clé secrète partagée. Une notification qui échoue peut être renvoyée : on la traite donc de façon que recevoir deux fois la même notification ne pose pas de problème.
Continuer : 9 autres questions sur Bases des technologies web