PUT vs POST: ¿Cuál es la diferencia?

¿Qué es PUT?

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

En este tutorial, aprenderá:

  • ¿Qué es PUT?
  • ¿Qué es POST?
  • Ejemplo de PUT
  • Ejemplo de POST
  • Diferencia entre PUT y POST
  • Prueba de una API con solicitudes PUT
  • Prueba de una API con solicitudes POST
  • Ventajas del método PUT
  • Ventajas del método POST

¿Qué es POST?

POST es un método que es compatible con HTTP y

describe que un servidor web acepta los datos incluidos en el cuerpo del mensaje, que se solicita. POST a menudo es utilizado por World Wide Web para enviar datos generados por el usuario al servidor web o cuando carga un archivo.

DIFERENCIAS CLAVE:

  • Se llama al método PUT cuando tiene que modificar un solo recurso, mientras que se llama al método POST cuando tiene que agregar un recurso secundario.
  • La respuesta del método PUT se puede almacenar en caché, pero no se pueden almacenar en caché las respuestas del método PUT.
  • Puede usar la consulta ACTUALIZAR en PUT, mientras que puede usar la consulta de creación 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.

Ejemplo de PUT

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

Petición

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

New File

Respuestas

Si el recurso de destino tiene una representación actual y se modifica con el estado de la representación adjunta, 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 CreatedContent-Location: /new.html

Ejemplo de POST

Aquí hay un ejemplo del método POST:

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

HTTP POST 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.1Host: abc.exampleContent-Type: application/x-www-form-urlencodedContent-Length: 40field1=value1&field2=value2

Diferencia entre PUT y POST

Aquí está la diferencia importante entre el método PUT y POST:

PONER CORREO
Este método es idempotente. Este método no es idempotente.
El método PUT se llama cuando tiene que modificar un solo recurso, que ya es 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
La respuesta del método PUT se puede almacenar en caché. No puede almacenar en caché las respuestas del método PUT.
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 como específico. POST funciona como abstracto.
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.

Prueba de una API con solicitudes PUT

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

Prueba de una API con solicitudes PUT

Paso 1) Actualice los recursos con la 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 lo tanto, no actualizará nada.

Prueba de una API con solicitudes POST

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

Prueba de 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 fallan con datos incorrectos.

Ventajas del método PUT

Aquí hay ventajas / beneficios de usar el método PUT:

  • Le ayuda a almacenar la entidad proporcionada bajo el URI proporcionado
  • Si la entidad proporcionada ya existe, puede realizar la operación de actualización o puede crear con ese URI.
  • Puede crear un recurso tantas veces como desee.
  • Crear un recurso con el método PUT es muy fácil.
  • 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 / 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 recursos 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 guardar 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 utilizando la publicación.
  • Puede mantener la privacidad de los datos.
  • Este método se puede utilizar para enviar datos binarios y ASCII.

Articulos interesantes...