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.