PUT vs POST: diferencia entre ellos

Diferencias clave entre PUT y POST

  • El mรฉtodo PUT se llama cuando tiene que modificar un solo recurso, mientras que el mรฉtodo POST se llama cuando tiene que agregar un recurso secundario.
  • Las respuestas del mรฉtodo POST se pueden almacenar en cachรฉ, pero no se pueden almacenar en cachรฉ las respuestas del mรฉtodo PUT.
  • Puede utilizar la consulta ACTUALIZAR en PUT, mientras que puede utilizar la consulta Crear en POST.
  • En el mรฉtodo PUT, el cliente decide quรฉ recurso URI debe tener, y en el mรฉtodo POST, el servidor decide quรฉ recurso URI debe tener.
  • PUT funciona como especรญfico, mientras que POST funciona como abstracto.
  • Si envรญa la misma solicitud PUT varias veces, el resultado seguirรก siendo el mismo, pero si envรญa la misma solicitud POST varias veces, recibirรก resultados diferentes.
  • El mรฉtodo PUT es idempotente, mientras que el mรฉtodo POST no es idempotente.
PONER vs POST
PONER vs POST

ยฟQuรฉ es el mรฉtodo PUT?

El mรฉtodo PUT se utiliza para actualizar los recursos disponibles en el servidor. Normalmente, reemplaza lo que existe en la URL de destino con otra cosa. Puede usarlo para crear un nuevo recurso o sobrescribir uno existente. PUT solicita que la entidad adjunta se almacene bajo el URI (Identificador uniforme de recursos) solicitado proporcionado.

ยฟQuรฉ es el mรฉtodo POST?

POST es un mรฉtodo compatible con HTTP y

Representa que un servidor web acepta los datos incluidos en el cuerpo del mensaje que se solicita. La World Wide Web suele utilizar POST para enviar datos generados por el usuario al servidor web o cuando se carga un archivo.

Diferencias entre PUT y POST en las API REST

Aquรญ estรก la diferencia importante entre el mรฉtodo PUT y POST:

PUT PUBLICAR
Este mรฉtodo es idempotente. Este mรฉtodo no es idempotente.
El mรฉtodo PUT se llama cuando tiene que modificar un รบnico recurso, que ya forma parte de la colecciรณn de recursos. El mรฉtodo POST se llama cuando tiene que agregar un recurso secundario en la colecciรณn de recursos.
RFC-2616 describe que el mรฉtodo PUT envรญa una solicitud para una entidad adjunta almacenada en el URI de solicitud proporcionado. Este mรฉtodo solicita al servidor que acepte la entidad incluida en la solicitud.
La sintaxis del mรฉtodo PUT es PUT /questions/{question-id} La sintaxis del mรฉtodo POST es POST /preguntas
No puede almacenar en cachรฉ las respuestas del mรฉtodo PUT. La respuesta del mรฉtodo POST se puede almacenar en cachรฉ.
PUT /vi/juice/orders/1234 indica que estรก actualizando un recurso identificado por โ€œ1234โ€. POST /vi/juice/orders indica que estรก creando un nuevo recurso y devuelve un identificador para describir el recurso.
Si envรญa la misma solicitud varias veces, el resultado seguirรก siendo el mismo. Si envรญa la misma solicitud POST mรกs de una vez, recibirรก resultados diferentes.
PUT funciona de forma especรญfica. POST trabajo como resumen.
Usamos la consulta ACTUALIZAR en PUT. Usamos crear consulta en POST.
En el mรฉtodo PUT, el cliente decide quรฉ recurso URI debe tener. En el mรฉtodo POST, el servidor decide quรฉ recurso URI debe tener.

Ejemplo de poner

Aquรญ estรก el ejemplo de servidor web de un mรฉtodo PUT:

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

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

Solicitar retiro

PUT /new.html HTTP/1.1
Host: example.com
Content-type: text/html
Content-length: 20

<p>New File</p>

Respuestas

Si el recurso de destino tiene representaciรณn actual y se modifica con el estado de la representaciรณn adjunta, entonces el servidor debe enviar dos respuestas. El primer cรณdigo de respuesta es 200 (OK) y el segundo cรณdigo de respuesta es 204 (Sin contenido).

Si el recurso de destino no tiene ninguna representaciรณn, entonces el servidor debe informar al usuario enviando una respuesta de cรณdigo 201 (Creado).

 HTTP/1.1 201 Created
Content-Location: /new.html

Ejemplo de ENVรO

A continuaciรณn se muestra un ejemplo del mรฉtodo POST:

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

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

Un formulario que utiliza el tipo de contenido predeterminado application/x-www-form-urlencoded:

POST /test HTTP/1.1
Host: abc.example
Content-Type: application/x-www-form-urlencoded
Content-Length: 40

field1=value1&field2=value2

Probando una API con solicitudes PUT

Estos son los pasos para probar la API con solicitudes PUT:

Probar una API con solicitudes PUT
Probando una API con solicitudes PUT

Paso 1) Actualizar recursos con solicitud PUT.

Paso 2) Utilice el mรฉtodo GET para el recurso. Si la solicitud PUT tiene รฉxito, recibirรก nuevos datos. Este mรฉtodo fallarรก si los datos proporcionados en la solicitud no son vรกlidos. Por tanto, no actualizarรก nada.

Probando una API con solicitudes POST

Estos son los pasos para probar la API con solicitudes POST:

Probar una API con solicitudes POST

Probando una API con solicitudes POST

Paso 1) Cree un recurso mediante la solicitud POST y asegรบrese de que devuelva el cรณdigo de estado 200.

Paso 2) Realice una solicitud GET para ese recurso y guarde los datos en el formato correcto.

Paso 3) Debe agregar pruebas que garanticen que las solicitudes POST fallen con datos incorrectos.

Ventajas del mรฉtodo PUT

Aquรญ hay ventajas y beneficios de usar el mรฉtodo PUT:

  • Le ayuda a almacenar la entidad proporcionada bajo el URI proporcionado
  • Si la entidad suministrada ya existe, puede realizar la operaciรณn de actualizaciรณn o puede crearla con esa URI.
  • Puedes crear un recurso tantas veces como quieras.
  • Crear un recurso con el mรฉtodo PUT es muy sencillo.
  • No es necesario comprobar si el usuario ha hecho clic en el botรณn Enviar varias veces o no.
  • Puede identificar la entidad adjunta a la solicitud.

Ventajas del mรฉtodo POST

Aquรญ hay ventajas y beneficios de usar el mรฉtodo POST:

  • Este mรฉtodo le ayuda a determinar el URI del recurso.
  • Especificar un nuevo encabezado de ubicaciรณn de recurso es muy fรกcil usando el encabezado de ubicaciรณn.
  • Puede enviar una solicitud para aceptar la entidad como un nuevo subordinado del recurso, que se identifica mediante el URI.
  • Puede enviar datos generados por el usuario al servidor web.
  • Es muy รบtil cuando no conoces la URL para conservar algรบn recurso.
  • Utilice POST cuando necesite el servidor, que controla la generaciรณn de URL de sus recursos.
  • POST es un mรฉtodo seguro ya que sus solicitudes no permanecen en el historial del navegador.
  • Puede transmitir sin esfuerzo una gran cantidad de datos mediante la publicaciรณn.
  • Puede mantener los datos privados.
  • Este mรฉtodo se puede utilizar para enviar datos binarios y ASCII.

Resumir este post con: