Spring Boot : écrire le serveur (école d'ingénieur) · Chapitre 9 · Application directe du cours
Lire une requête préalable
Le client Vue face au serveur · niveau 1 (application)
Énoncé
Pour la requête préalable d'une commande montrée dans la section sur Spring Security, expliquer le rôle de chacun des en-têtes de la requête et de la réponse. Pourquoi le navigateur fait-il cette requête pour un POST de JSON, et pas pour la liste des livres ?
Corrigé
Dans la requête : Origin dit d'où vient la page ; Access-Control-Request-Method: POST annonce la méthode de la vraie requête ; Access-Control-Request-Headers: content-type annonce l'en-tête qu'elle portera. Dans la réponse : Access-Control-Allow-Origin accepte cette origine (en la répétant) ; Access-Control-Allow-Methods et -Allow-Headers listent ce qui est permis ; Access-Control-Max-Age: 3600 autorise le navigateur à réutiliser cette réponse une heure ; les Vary empêchent un cache de la resservir à une autre origine. Le statut 200 et le corps vide suffisent : ce n'est qu'une question.
Un POST dont le corps est en application/json n'est pas une requête « simple » : un formulaire HTML ne peut pas en envoyer, donc les serveurs anciens ne s'y attendent pas, et le navigateur demande d'abord la permission. Le GET de la liste, sans en-tête particulier, est simple : il part directement, et le navigateur ne vérifie qu'à la réception.
100 % gratuit
La suite du chapitre est sur Adloun
- 10 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.