Derniers tutoriels de développement web
 

Méthodes HTTP: GET vs POST


Les deux méthodes HTTP les plus utilisés sont: GET et POST.


Qu'est-ce que HTTP?

Le Hypertext Transfer Protocol (HTTP) est conçu pour permettre des communications entre clients et serveurs.

HTTP fonctionne en tant que protocole de demande-réponse entre le client et le serveur.

Un navigateur Web peut être le client, et une application sur un ordinateur qui héberge un site Web peut être le serveur.

Exemple: Un client (navigateur) soumet une requête HTTP au serveur; puis le serveur renvoie une réponse au client. La réponse contient des informations d'état sur la demande et peut également contenir le contenu demandé.


Deux requête HTTP Méthodes: GET et POST

Deux méthodes couramment utilisées pour une requête-réponse entre un client et le serveur sont: GET et POST.

  • GET - Demandes de données à partir d' une ressource spécifiée
  • POST - données Soumet à traiter à une ressource spécifiée

La méthode GET

Notez que la chaîne de requête (paires nom / valeur) est envoyé dans l'URL d'une requête GET:

/test/demo_form.asp?name1=value1&name2=value2

Quelques autres notes sur les requêtes GET:

  • Les requêtes GET peuvent être mis en cache
  • GET demandes restent dans l'historique du navigateur
  • Les requêtes GET peuvent être mis en signet
  • Les requêtes GET ne devraient jamais être utilisées lors du traitement de données sensibles
  • GET demandes ont des restrictions de longueur
  • GET demandes doivent être utilisées uniquement pour récupérer des données

La méthode POST

Notez que la chaîne de requête (paires nom / valeur) est envoyé dans le corps de message HTTP d'une requête POST:

POST /test/demo_form.asp HTTP/1.1
Host: w3ii.com
name1=value1&name2=value2

Quelques autres notes sur les requêtes POST:

  • requêtes POST ne sont jamais mises en cache
  • les requêtes POST ne restent pas dans l'historique du navigateur
  • Les requêtes POST ne peuvent pas être mis en signet
  • les requêtes POST ont pas de restrictions sur la longueur des données

Comparer GET vs POST

Le tableau suivant compare les deux méthodes HTTP: GET et POST.

OBTENEZ POSTER
Touche BACK / Reload Inoffensif Les données seront soumises à nouveau (le navigateur devrait alerter l'utilisateur que les données sont sur le point d'être soumis à nouveau)
Bookmarked Peut être bookmarked Ne peut pas être bookmarked
Cached Peut être mis en cache Non mis en cache
Type de codage application / x-www-form-urlencoded application / x-www-form-urlencoded multipart / form-data ou. Utilisez le codage multipart pour les données binaires
Histoire Paramètres restent dans l'historique du navigateur Les paramètres ne sont pas enregistrés dans l'historique du navigateur
Restrictions sur la longueur des données Dans l'affirmative, l'envoi de données, le procédé GET ajoute les données à l'adresse URL; et la longueur d'une URL est limitée (longueur maximale de l'URL est de 2048 caractères) Pas de restrictions
Restrictions sur le type de données Seuls les caractères ASCII autorisés Aucune restriction. Les données binaires sont également autorisés
la sécurité GET est moins sûre par rapport à POST parce que les données envoyées sont partie de l'URL

Ne jamais utiliser GET pour envoyer des mots de passe ou d'autres informations sensibles!
POST est un peu plus sûr que GET parce que les paramètres ne sont pas stockés dans l'historique du navigateur ou dans les journaux de serveur web
Visibilité Les données sont visibles pour tout le monde dans l'URL Les données ne sont pas affichées dans l'URL

Autre demande HTTP Méthodes

Le tableau suivant dresse la liste des autres méthodes de requête HTTP:

méthode La description
HEAD Même que GET mais retourne seulement en-têtes HTTP et aucun corps du document
PUT Téléverse une représentation de l'URI spécifié
DELETE Supprime la ressource spécifiée
OPTIONS Renvoie les méthodes HTTP que les supports de serveur
CONNECT Convertit la connexion demande à un / tunnel IP TCP transparent