PUT vs POST: quelle est la différence?

Table des matières:

Anonim

Qu'est-ce que PUT?

La méthode PUT est utilisée pour mettre à jour la ressource disponible sur le serveur. En règle générale, il remplace tout ce qui existe à l'URL cible par autre chose. Vous pouvez l'utiliser pour créer une nouvelle ressource ou en remplacer une existante. PUT demande que l'entité incluse soit stockée sous l'URI demandé (Uniform Resource Identifier) ​​fourni.

Dans ce tutoriel, vous apprendrez:

  • Qu'est-ce que PUT?
  • Qu'est-ce que POST?
  • Exemple de PUT
  • Exemple de POST
  • Différence entre PUT et POST
  • Tester une API avec des requêtes PUT
  • Tester une API avec des requêtes POST
  • Avantages de la méthode PUT
  • Avantages de la méthode POST

Qu'est-ce que POST?

POST est une méthode prise en charge par HTTP et

indique qu'un serveur Web accepte les données incluses dans le corps du message, qui est demandé. POST est souvent utilisé par le World Wide Web pour envoyer des données générées par l'utilisateur au serveur Web ou lorsque vous téléchargez un fichier.

DIFFÉRENCES CLÉS:

  • La méthode PUT est appelée lorsque vous devez modifier une seule ressource tandis que la méthode POST est appelée lorsque vous devez ajouter une ressource enfant.
  • La réponse de la méthode PUT peut être mise en cache, mais vous ne pouvez pas mettre en cache les réponses de la méthode PUT.
  • Vous pouvez utiliser la requête UPDATE dans PUT tandis que vous pouvez utiliser la requête de création dans POST.
  • Dans la méthode PUT, le client décide quelle ressource URI doit avoir, et dans la méthode POST, le serveur décide quelle ressource URI doit avoir.
  • PUT fonctionne de manière spécifique tandis que POST fonctionne comme abstrait.
  • Si vous envoyez la même requête PUT plusieurs fois, le résultat restera le même, mais si vous envoyez la même requête POST plusieurs fois, vous recevrez des résultats différents.
  • La méthode PUT est idempotente alors que la méthode POST n'est pas idempotente.

Exemple de PUT

Voici l'exemple de serveur Web d'une méthode PUT:

HTTP PUT http://www.google.com/users/234

HTTP PUT http://www.google.com/users/234/accounts/567

Demander

PUT /new.html HTTP/1.1Host: example.comContent-type: text/htmlContent-length: 20

New File

Réponses

Si la ressource cible a une représentation actuelle et est modifiée avec l'état de la représentation incluse, alors le serveur doit envoyer deux réponses. Le premier code de réponse est 200 (OK) et le second code de réponse est 204 (No Content).

Si la ressource cible n'a aucune représentation, alors le serveur doit informer l'utilisateur en envoyant une réponse code 201 (Créé).

 HTTP/1.1 201 CreatedContent-Location: /new.html

Exemple de POST

Voici un exemple de méthode POST:

HTTP POST http://www.google.com/users

HTTP POST http://www.google.com/users/234/accounts

Un formulaire utilisant le type de contenu par défaut application / x-www-form-urlencoded:

POST /test HTTP/1.1Host: abc.exampleContent-Type: application/x-www-form-urlencodedContent-Length: 40field1=value1&field2=value2

Différence entre PUT et POST

Voici la différence importante entre les méthodes PUT et POST:

METTRE PUBLIER
Cette méthode est idempotente. Cette méthode n'est pas idempotente.
La méthode PUT est appelée lorsque vous devez modifier une seule ressource, qui fait déjà partie de la collection de ressources. La méthode POST est appelée lorsque vous devez ajouter une ressource enfant sous la collection de ressources.
La RFC-2616 décrit que la méthode PUT envoie une demande pour une entité incluse stockée dans l'URI de demande fourni. Cette méthode demande au serveur d'accepter l'entité incluse dans la demande.
La syntaxe de la méthode PUT est PUT / questions / {question-id} La syntaxe de la méthode POST est POST / questions
La réponse de la méthode PUT peut être mise en cache. Vous ne pouvez pas mettre en cache les réponses de la méthode PUT.
PUT / vi / jus / orders / 1234 indique que vous mettez à jour une ressource identifiée par "1234". POST / vi / jus / orders indique que vous créez une nouvelle ressource et renvoie un identifiant pour décrire la ressource.
Si vous envoyez la même demande plusieurs fois, le résultat restera le même. Si vous envoyez la même demande POST plusieurs fois, vous recevrez des résultats différents.
PUT fonctionne comme spécifique. POST fonctionne comme un résumé.
Nous utilisons la requête UPDATE dans PUT. Nous utilisons créer une requête dans POST.
Dans la méthode PUT, le client décide quelle ressource URI doit avoir. Dans la méthode POST, le serveur décide quelle ressource URI doit avoir.

Tester une API avec des requêtes PUT

Voici les étapes pour tester l'API avec des requêtes PUT:

Tester une API avec des requêtes PUT

Étape 1) Mettez à jour les ressources avec la demande PUT.

Étape 2) Utilisez la méthode GET pour la ressource. Si la demande PUT réussit, vous recevrez de nouvelles données. Cette méthode échouera si les données fournies dans la demande ne sont pas valides. Par conséquent, il ne mettra rien à jour.

Tester une API avec des requêtes POST

Voici les étapes pour tester l'API avec des requêtes POST:

Tester une API avec des requêtes POST

Étape 1) Créez une ressource à l'aide de la requête POST et assurez-vous qu'elle renvoie le code d'état 200.

Étape 2) Faites une demande GET pour cette ressource et enregistrez les données dans le format correct.

Étape 3) Vous devez ajouter des tests qui garantissent que les requêtes POST échouent avec des données incorrectes.

Avantages de la méthode PUT

Voici les avantages / avantages de l'utilisation de la méthode PUT:

  • Il vous aide à stocker l'entité fournie sous l'URI fourni
  • Si l'entité fournie existe déjà, vous pouvez effectuer l'opération de mise à jour ou créer avec cet URI.
  • Vous pouvez créer une ressource autant de fois que vous le souhaitez.
  • Créer une ressource avec la méthode PUT est très simple.
  • Vous n'avez pas besoin de vérifier si l'utilisateur a cliqué plusieurs fois sur le bouton d'envoi ou non.
  • Il peut identifier l'entité jointe à la demande.

Avantages de la méthode POST

Voici les avantages / avantages de l'utilisation de la méthode POST:

  • Cette méthode vous aide à déterminer l'URI de la ressource.
  • Spécifier un nouvel en-tête d'emplacement de ressource est très simple à l'aide de l'en-tête d'emplacement.
  • Vous pouvez envoyer une demande d'acceptation de l'entité en tant que nouveau subordonné de la ressource, qui est identifié par l'URI.
  • Vous pouvez envoyer des données générées par l'utilisateur au serveur Web.
  • Il est très utile lorsque vous ne connaissez pas l'URL de conserver une ressource.
  • Utilisez POST lorsque vous avez besoin du serveur, qui contrôle la génération d'URL de vos ressources.
  • POST est une méthode sécurisée car ses requêtes ne restent pas dans l'historique du navigateur.
  • Vous pouvez facilement transmettre une grande quantité de données à l'aide de la poste.
  • Vous pouvez garder les données privées.
  • Cette méthode peut être utilisée pour envoyer des données binaires et ASCII.