Pour chaque formulaire, choisir GET ou POST et justifier
Exercice d'entraînement · niveau 2 · NSI (première), chapitre 10 — Interagir sur le Web · Formulaires, GET et POST
Énoncé
Pour chaque formulaire, choisir GET ou POST et justifier : une recherche dans un catalogue ; une connexion ; un envoi de message ; un filtre d'affichage ; un paiement.
Corrigé
| Formulaire | Justification | |
|---|---|---|
| Recherche dans un catalogue | GET | ne modifie rien ; l'URL obtenue est partageable et peut être
mise en favori, ce qui est un service rendu</td></tr><tr style=""><td style="text-align:left;padding:8px 12px;color:#34332D;vertical-align:top">Connexion</td><td style="text-align:center;padding:8px 12px;color:#34332D;vertical-align:top">POST</td><td style="text-align:left;padding:8px 12px;color:#34332D;vertical-align:top">transporte un mot de passe : rien ne doit se retrouver dans l'historique ni dans les journaux du serveur</td></tr><tr style=""><td style="text-align:left;padding:8px 12px;color:#34332D;vertical-align:top">Envoi d'un message</td><td style="text-align:center;padding:8px 12px;color:#34332D;vertical-align:top">POST</td><td style="text-align:left;padding:8px 12px;color:#34332D;vertical-align:top">modifie l'état du serveur, et ne doit pas être rejoué par un simple « actualiser »</td></tr><tr style=""><td style="text-align:left;padding:8px 12px;color:#34332D;vertical-align:top">Filtre d'affichage</td><td style="text-align:center;padding:8px 12px;color:#34332D;vertical-align:top">GET</td><td style="text-align:left;padding:8px 12px;color:#34332D;vertical-align:top">ne modifie rien, et l'on souhaite justement pouvoir envoyer à quelqu'un « la liste filtrée sur telle valeur »</td></tr><tr style="border-bottom:1.5px solid #2E2C26"><td style="text-align:left;padding:8px 12px;color:#34332D;vertical-align:top">Paiement</td><td style="text-align:center;padding:8px 12px;color:#34332D;vertical-align:top">POST</td><td style="text-align:left;padding:8px 12px;color:#34332D;vertical-align:top">modifie, engage de l'argent, et transporte des données confidentielles — les trois raisons à la fois</td></tr></table></div> Un seul critère décide, et il se pose en deux temps : la requête modifie-t-elle quelque chose ? Si oui, POST, sans discussion. Sinon, le résultat gagne-t-il à être partageable ? Si oui, GET. Piège : choisir POST « parce que c'est plus sûr » pour la recherche. On perdrait l'URL partageable, le favori, le bouton « précédent » — et l'on ne gagnerait rien : POST ne chiffre pas. Le seul cas où POST protège quelque chose est celui où la valeur ne doit pas être recopiée dans l'historique et les journaux. Les autres exercices de ce chapitre Le cours du chapitre Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse. |