Sobes.tech
Junior

Dans quels cas est-il judicieux de transmettre des paramètres via GET et dans quels cas cela ne devrait pas être fait?

sobes.tech IA

Réponse de l'IA

Il est conseillé d'utiliser la transmission de paramètres via GET dans les cas suivants :

  • Récupération de données (lecture) : Les requêtes GET sont idempotentes et ne doivent pas modifier l'état du serveur. C'est la méthode principale pour obtenir des ressources ou des informations.
  • Mise en cache : Les navigateurs et serveurs proxy peuvent mettre en cache les requêtes GET, ce qui accélère les requêtes ultérieures vers la même URI.
  • Création de liens : Les paramètres dans l'URL facilitent la création de liens directs vers une vue spécifique de données ou de résultats de recherche.
  • Pette quantité de données : Lors de la transmission d'une petite quantité de données non sensibles.
  • Requêtes partageables : Lorsque le résultat de la requête peut être facilement partagé avec un autre utilisateur via un lien.

Il ne faut pas utiliser la transmission de paramètres via GET dans les cas suivants :

  • Transmission de données sensibles : Mots de passe, données personnelles, jetons d'autorisation et toute autre information qui ne doit pas être visible dans l'URL, l'historique du navigateur ou les logs du serveur.
  • Grande quantité de données : La longueur de l'URL est limitée (bien que cela dépende du navigateur/serveur, mais il existe une limite).
  • Changement d'état sur le serveur : Les requêtes GET ne doivent pas provoquer de changements d'état (création, mise à jour, suppression de ressources). Pour cela, on utilise les méthodes POST, PUT, DELETE.
  • Téléchargement de fichiers : La transmission du contenu des fichiers via des paramètres d'URL n'est pas pratique ni standardisée.
  • Courriels avec liens d'action : Les liens dans les courriels qui effectuent une action sur le serveur (par exemple, se désinscrire) ne doivent pas utiliser GET pour éviter l'exécution accidentelle de l'action lors de la numérisation du courrier par un antivirus ou un client de messagerie.