Spring Boot : écrire le serveur (école d'ingénieur) · Chapitre 9 · Exercice de TD
Pourquoi le relais suffit pour lire
Le client Vue face au serveur · niveau 2
Énoncé
Avec le relais de Vite et l'origine 4173 non autorisée, le catalogue et la fiche s'affichent, mais la commande échoue. Expliquer précisément, en suivant les en-têtes Origin et Host de chaque requête, pourquoi.
Corrigé
La page est servie par 127.0.0.1:4173 ; toutes ses requêtes vont vers cette même origine, et le navigateur ne voit jamais l'API. Pour le GET du catalogue, il n'ajoute pas d'en-tête Origin (même origine, méthode sûre). Le relais réécrit Host en localhost:8000 (changeOrigin: true) et transmet : Spring ne voit aucune origine, ce n'est pas une requête CORS, il répond. Pour le POST de la commande, le navigateur ajoute Origin: http://127.0.0.1:4173, que le relais transmet. Spring compare cette origine à l'hôte de la requête (localhost:8000), conclut à une requête d'une autre origine, ne trouve pas 127.0.0.1:4173 dans la liste et répond 403 Invalid CORS request. Le relevé curl du cours le confirme : le même POST sans Origin passe (201).
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.