Los métodos HTTP, son el formato de comunicación entre el cliente y servidor web. Maneja varios varios formatos: POST, GET, PUT, DELETE, OPTIONS, HEAD, PATCH, etc.
Contenido
Método HTTP: GET
Es uno de los métodos HTTP, este realiza una petición a un recurso específico. No permite el envió de datos a excepción si dichos datos se envían como parámetro en la Url que realiza la petición. Esta petición retorna tanto la cabecera como el contenido. Ahora, este método GET puede retornar una respuesta en formato HTML, JSON, XML, Imágenes o JavaScript. Semánticamente se utiliza para consultar información como una SELECT a la base de datos, se puede filtrar datos empleando los datos enviados por la Url. Por otro lado, violando la semántica; los datos enviados por la Url se pueden usar para otros fines como una inserción, actualización y eliminación de un registro. Si se compara con las sentencias SQL es similar a un SELECT.
Formato de URL sin datos
Formato de URL con datos
www.misitioweb/index.html?nombre=williams&apellido=morales
En este caso se envía los datos de nombre y apellido donde los claves son nombre y apellido y, valores williams y morales respectivamente.
Formato envió datos por Formulario
También se usa el método GET en un formulario como se muestra a continuación:
<form action="www.misitioweb/index.html" method="get"> Nombre: <input type="text" name="nombre"><br> Apellido: <input type="text" name="apellido"><br> <input type="submit" value="Enviar"> </form>
Respuesta HTTP
200 | Ok (Respuesta Positiva) |
400 | Bad Request |
404 | No Found |
Características
Petición con cuerpo | No |
Respuesta válida con cuerpo | Si |
Seguro | Si |
Idempotente | Si |
Cacheable | Si |
Permitido en HTML forms | Si |
Método HTTP: POST
Es otro de los métodos HTTP, este puede enviar datos al servidor por medio del cuerpo (body) y nada por la Url como se emplea en el método GET. El tipo de cuerpo de solicitud se define en la cabecera Content-Type. Semánticamente se utiliza para registrar información, similar al INSERT de datos a nivel de base de datos. A pesar de eso se puede forzar este método de petición HTTP para otras acciones como actualización, eliminación de registro, como carga de archivos, etc. También, se emplea para acciones que no tienen relación con el registro de información se debe considerar que el método POST no es Idempotente, es decir cada petición realiza un cambio diferente en el recurso del servidor web. El POST usa enviando los datos por formularios, formato JSON entre otros. Si se compara con las sentencias SQL es similar a un INSERT.
Formato envió datos por Formulario
Por otro lado, se puede enviar usar el método POST en un formulario como se muestra a continuación:
<form action="www.misitioweb/index.html" method="post"> Nombre: <input type="text" name="nombre"><br> Apellido: <input type="text" name="apellido"><br> <input type="submit" value="Enviar"> </form>
Formato JSON
Url: www.misitioweb/index.html
Cuerpo:
[{ "nombre": "williams", "apellido": "morales" }]
Respuesta HTTP
200 | Ok (Respuesta Positiva) |
201 | Creado |
400 | Bad Request |
404 | No Found |
Características
Petición con cuerpo | Si |
Respuesta válida con cuerpo | Si |
Seguro | No |
Idempotente | No |
Cacheable | Solo si incluye nueva información |
Permitido en HTML forms | Si |
Método HTTP: PUT
Es similar al método de petición POST, solo que el método PUT es idempotente; es decir puede ser ejecutado varias veces y tiene el mismo efecto, caso contrario a un POST que cada vez que se ejecuta realiza la agregación de un nuevo objeto, ya que semánticamente es como una inserción de un nuevo registro. Semánticamente el método HTTP PUT se utiliza para la actualización de información existente, es semejante a un UPDATE de datos a nivel de base de datos. Los requests de un PUT usualmente se envían los datos por formularios, formato JSON entre otros. Si se compara con las sentencias SQL es similar a un UPDATE.
Respuesta HTTP
200 | Ok (Respuesta Positiva) |
201 | Creado |
204 | No Responde, Si el servidor no devuelve ningún contenido |
400 | Bad Request |
404 | No Found |
Características
Petición con cuerpo | Si |
Respuesta con cuerpo | No |
Seguro | No |
Idempotente | Si |
Cacheable | No |
Permitido en HTML forms | No |
Método HTTP: DELETE
Este método de petición permite eliminar un recurso específico. También es idempotente; es decir puede ser ejecutado varias veces y tiene el mismo efecto similar al PUT y GET. Semánticamente se utiliza para eliminar de información existente, es semejante a un DELETE de datos a nivel de base de datos.
Respuesta HTTP
200 | Elimina correctamente con body |
202 | La acción fue realizado correctamente, pero no se ha promulgado |
204 | Responde sin body |
Características
Petición con cuerpo | Tal vez |
Respuesta con cuerpo | Tal vez |
Seguro | No |
Idempotente | Si |
Cacheable | No |
Permitido en HTML forms | No |
Método HTTP: PATCH
Este método se emplea para modificaciones parciales de un recurso en particular. Se debe revisar si el servidor es compatible con peticiones PATCH. Para averiguar si el servidor aceptar peticiones PATCH notifica su compatibilidad en el header Allow o Access-Control-Allow-Methods, otra indicación de que estas peticiones están permitidas son el header Accept-Patch. Semánticamente es similar al PUT, pues actualiza una parte de un registro. Es decir realiza una especie de UPDATE a nivel de base de datos.
Respuesta HTTP
200 | Respuesta exitosa con body |
204 | Responde exitosa sin body |
Características
Petición con cuerpo | Si |
Respuesta con cuerpo | Si |
Seguro | No |
Idempotente | No |
Cacheable | No |
Permitido en HTML forms | No |
Método HTTP: HEAD
Este método de petición es similar al método HTTP GET, sin embargo no retorna ningún contenido HTTP Response. Cuando se trabaja con este método de petición no se está interesado en el contenido, solo en el código de HTTP de Respuesta y el encabezado (Headers). Este método se puede emplear en casos particulares. Por ejemplo, se tiene un sitio web con varios enlaces web y se requiere verificar si hay “enlaces rotos”; entonces se realiza la petición a todos los enlaces correspondientes y verifica el estado de dichos enlaces. Pues no es importante el contenido de los mencionados enlaces sino el comprobar el estado de dichos enlaces. También se puede comprobar si un archivo existe, entre otros casos donde es importante código de Respuesta HTTP y no se requiere ningún contenido (HTML, JSON, XML, Imágenes, JavaScript, etc).
Respuesta HTTP
200 | Ok (Respuesta Positiva) |
400 | Bad Request |
404 | No Found |
Características
Petición con cuerpo | No |
Respuesta con cuerpo | No |
Seguro | Si |
Idempotente | Si |
Cacheable | Si |
Permitido en HTML forms | No |
Método HTTP: OPTIONS
Es uno de los métodos HTTP. Este método se utiliza para comprobar que opciones de comunicación posee el recurso de destino. Es más utilizado con CORS (Cross-Origin Resource Sharing), para revisar si el servidor acepta peticiones de diferentes orígenes.
Características
Petición con cuerpo | No |
Respuesta con cuerpo | Si |
Seguro | Si |
Idempotente | Si |
Cacheable | No |
Permitido en HTML forms | No |
Sigueme en:
Compartir:
Referencias