¿qué es un post?
Post vs put
PUT coloca un archivo o recurso en un URI específico, y exactamente en ese URI. Si ya existe un archivo o recurso en ese URI, PUT reemplaza ese archivo o recurso. Si no hay ningún archivo o recurso allí, PUT crea uno. PUT es idempotente, pero paradójicamente las respuestas de PUT no son almacenables en caché.
POST envía datos a un URI específico y espera que el recurso en ese URI maneje la solicitud. En este punto, el servidor web puede determinar qué hacer con los datos en el contexto del recurso especificado. El método POST no es idempotente, sin embargo las respuestas POST son almacenables en caché siempre que el servidor establezca las cabeceras Cache-Control y Expires adecuadas.
Una de las ventajas de REST ROA frente a SOAP es que cuando se utiliza HTTP REST ROA, se fomenta el uso adecuado de los verbos/métodos HTTP. Así, por ejemplo, sólo usarás PUT cuando quieras crear un recurso en esa ubicación exacta. Y nunca usarías GET para crear o modificar un recurso.
Un HTTP POST es más general. Se supone que debe iniciar una acción en el servidor. Esa acción podría ser almacenar el cuerpo de la solicitud en el recurso identificado por el URI, o podría ser un URI diferente, o podría ser una acción diferente.
Qué es el método get y post en php
Los verbos HTTP más utilizados POST, GET, PUT, DELETE son similares a las operaciones CRUD (Create, Read, Update y Delete) en las bases de datos. Especificamos estos verbos HTTP en mayúsculas. Por lo tanto, la siguiente es la comparación entre ellos.
Como POST, PUT, DELETE modifican el contenido, las pruebas con Fiddler para la url de abajo sólo imitan las actualizaciones. En realidad no borra ni modifica. Sólo podemos ver los códigos de estado para comprobar si se producen inserciones, actualizaciones o eliminaciones.
GET es el tipo más simple de método de solicitud HTTP; el que los navegadores utilizan cada vez que se hace clic en un enlace o se escribe una URL en la barra de direcciones. Ordena al servidor que transmita al cliente los datos identificados por la URL. Los datos nunca deben ser modificados en el lado del servidor como resultado de una solicitud GET. En este sentido, una petición GET es de sólo lectura.
En caso de eliminación exitosa, devuelve el estado HTTP 200 (OK) junto con un cuerpo de respuesta, tal vez la representación del elemento eliminado (a menudo exige demasiado ancho de banda), o una respuesta envuelta (ver Valores de Retorno más abajo). Eso o devolver el estado HTTP 204 (SIN CONTENIDO) sin cuerpo de respuesta. En otras palabras, un estado 204 sin cuerpo, o la respuesta estilo JSEND y el estado HTTP 200 son las respuestas recomendadas.
Método put
El método PUT solicita que la entidad adjunta sea almacenada bajo el Request-URI suministrado. Si la Request-URI hace referencia a un recurso ya existente, la entidad adjunta DEBERÍA considerarse como una versión modificada de la que reside en el servidor de origen. Si la Request-URI no apunta a un recurso existente, y esa URI es capaz de ser definida como un nuevo recurso por el agente de usuario solicitante, el servidor de origen puede crear el recurso con esa URI.
Tienes que preguntarte “¿sobre qué estás realizando la acción?”, para distinguir qué debes utilizar. Supongamos que estás diseñando una API para hacer preguntas. Si quieres usar POST, entonces lo harías a una lista de preguntas. Si quieres usar PUT, entonces lo harías a una pregunta en particular.
PUT implica poner un recurso – reemplazando completamente lo que está disponible en la URL dada con una cosa diferente. Por definición, un PUT es idempotente. Hazlo tantas veces como quieras, y el resultado es el mismo. x=5 es idempotente. ¡Se puede PUTar un recurso tanto si existe previamente, como si no (por ejemplo, para Crear, o para Actualizar)!
Métodos http
Por su diseño, el método de petición POST solicita a un servidor web que acepte los datos incluidos en el cuerpo del mensaje de petición, muy probablemente para almacenarlos[1] Se suele utilizar cuando se sube un archivo o cuando se envía un formulario web completado.
En cambio, el método de solicitud HTTP GET recupera información del servidor. Como parte de una solicitud GET, se pueden pasar algunos datos dentro de la cadena de consulta de la URL, especificando (por ejemplo) términos de búsqueda, rangos de fechas u otra información que defina la consulta.
Como parte de una solicitud POST, se puede enviar al servidor una cantidad arbitraria de datos de cualquier tipo en el cuerpo del mensaje de solicitud. Un campo de cabecera en la solicitud POST suele indicar el tipo de medio de Internet del cuerpo del mensaje.
Los esfuerzos de algunos escritores influyentes para remediar el primer punto comenzaron ya en 1998[2]. Los marcos de aplicaciones web como Ruby on Rails y otros facilitan a los diseñadores la tarea de proporcionar a sus usuarios URL semánticas. En cuanto al segundo punto, es posible utilizar scripts del lado del cliente, o escribir aplicaciones independientes, para hacer uso de los otros métodos HTTP cuando son relevantes,[3] pero fuera de esto la mayoría de los formularios web que envían o alteran datos del servidor siguen utilizando POST para el propósito.