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 ?

  1. 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
  2. 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
  3. 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.

S'entraîner sur ce thème Retour au thème

Autres questions sur Bases des technologies web

  1. Quelle description du DOM (Document Object Model) utilisé par les navigateurs est correcte ?
  2. Pour un élément auquel s'applique le CSS ci-dessus, quelle est la largeur mesurée d'un bord extérieur à l'autre des bordures gauche et droite ?
  3. On suppose qu'il n'y a aucune autre règle de style. Dans le HTML ci-dessus, de quelle couleur est le texte « Hello » ?
  4. Dans le traitement qui mène le navigateur jusqu'au premier affichage (le chemin de rendu critique, ou critical rendering path), un élément <script src="app.js"> sans attribut placé dans <head> arrête l'analyse du HTML à cet endroit. Quel comportement est correct si l'on ajoute l'attribut defer à cet élément ?
  5. Lorsqu'on exécute le JavaScript ci-dessus dans un navigateur, quel est l'ordre correct d'affichage des caractères dans la console ?