Métodos HTTP de petición que debes conocer

Por Felipe

Publicado en:

Los métodos HTTP de petición son las instrucciones que el navegador o una aplicación envían a un servidor para indicarle qué acción quiere realizar sobre un recurso. Los más habituales son GET, POST, PUT, DELETE, HEAD y OPTIONS, y cada uno cumple una función concreta dentro de la comunicación entre el cliente y el servidor web.

Qué son los métodos HTTP

Cada vez que abres una página, envías un formulario o una aplicación consulta una API, se produce una petición HTTP. El protocolo HTTP (Hypertext Transfer Protocol) es el lenguaje con el que el cliente —normalmente tu navegador— y el servidor se comunican en la web. Dentro de esa conversación, los métodos HTTP son las palabras clave que indican qué se quiere hacer: se denominan así porque realizan una acción y su nombre viene definido por un verbo, como obtener, enviar o borrar. El servidor recibe el método, lo interpreta y responde en consecuencia, devolviendo el recurso solicitado o el resultado de la operación junto con un código de estado.

Cómo se clasifican los métodos HTTP

Los métodos de petición se agrupan según su comportamiento, y dos conceptos resultan especialmente importantes: los métodos seguros y los idempotentes.

Un método se considera seguro cuando no modifica el estado del servidor: solo lee información, sin provocar cambios. GET y HEAD son los ejemplos clásicos. Un método es idempotente cuando, al repetirlo varias veces, el resultado final es el mismo que si se ejecutara una sola vez. GET, PUT y DELETE son idempotentes, porque pedir un recurso, sustituirlo o eliminarlo varias veces deja el servidor en el mismo estado. POST, en cambio, no es idempotente: enviarlo dos veces puede crear dos registros distintos, y por eso conviene controlar los envíos duplicados de formularios.

Cuáles son los principales métodos de petición HTTP

GET

Es el método más utilizado. Sirve para solicitar y recuperar información de un recurso sin modificarlo, por ejemplo al cargar una página o una imagen. Es un método seguro e idempotente, y los datos que envía viajan en la propia URL, por lo que no conviene usarlo para información sensible.

POST

Se emplea para enviar datos al servidor con el fin de crear o procesar un recurso, como al registrar un usuario o publicar un comentario. A diferencia de GET, la información viaja en el cuerpo de la petición y no en la URL. No es idempotente, ya que cada envío puede generar un nuevo registro.

PUT

Sustituye por completo un recurso existente por la versión que se envía, o lo crea si no existe. Es idempotente: enviar el mismo PUT varias veces deja el recurso igual. Se utiliza mucho en las API REST para actualizar datos.

DELETE

Como su nombre indica, solicita eliminar un recurso del servidor. También es idempotente, porque una vez borrado el recurso, repetir la petición no cambia el resultado.

HEAD

Funciona igual que GET, pero el servidor devuelve únicamente las cabeceras, sin el cuerpo del recurso. Resulta útil para comprobar si un recurso existe, conocer su tamaño o verificar la fecha de modificación sin descargarlo entero.

OPTIONS

Permite consultar qué métodos y opciones de comunicación admite el servidor para un recurso determinado. Es habitual en las comprobaciones previas (preflight) que realizan los navegadores al trabajar con peticiones entre dominios distintos (CORS).

PATCH, TRACE y CONNECT

PATCH aplica modificaciones parciales a un recurso, en lugar de sustituirlo entero como hace PUT. TRACE devuelve la propia petición tal y como la recibe el servidor, lo que ayuda a diagnosticar cómo se transforma por el camino. CONNECT establece un túnel hacia el servidor y se utiliza sobre todo con conexiones cifradas a través de un proxy. Son métodos menos frecuentes en el día a día, pero forman parte del estándar.

Por qué conviene conocer los métodos HTTP al gestionar tu web

Entender los métodos HTTP ayuda a interpretar los registros del servidor, a diagnosticar errores y a trabajar con formularios, plugins y API con criterio. Por ejemplo, saber que un formulario debe enviarse por POST y no por GET evita exponer datos en la URL, y reconocer qué método provoca un error facilita resolverlo. Si gestionas tu proyecto sobre un alojamiento web con buen rendimiento, estas peticiones se procesan con rapidez y de forma estable, algo que se nota especialmente en tiendas online y aplicaciones que generan muchas operaciones por segundo.

Métodos HTTP y códigos de estado: cómo interpretar la respuesta

Cada método HTTP que se envía obtiene una respuesta del servidor acompañada de un código de estado de tres cifras que resume qué ha ocurrido. Conocerlos completa la fotografía, porque no basta con saber qué pides: también necesitas entender qué te contesta el servidor. Los códigos que empiezan por 2, como el 200, indican que la petición se ha resuelto con éxito. Los que empiezan por 3, como el 301 o el 302, señalan redirecciones hacia otra dirección. Los que empiezan por 4, como el 404 (no encontrado) o el 403 (prohibido), avisan de un error por parte del cliente, normalmente una URL incorrecta o un permiso que falta. Por último, los que empiezan por 5, como el 500 o el 503, reflejan un problema en el servidor. Cuando combinas el método utilizado con el código de estado recibido dispones de toda la información para diagnosticar por qué una página no responde como esperas y dónde está el origen del fallo, ya sea en la petición o en la configuración del alojamiento.

Preguntas frecuentes

¿Cuál es la diferencia entre GET y POST?

GET solicita información y envía los datos en la URL, por lo que es visible y se usa para leer recursos. POST envía los datos en el cuerpo de la petición y se utiliza para crear o procesar información, como el envío de un formulario. Además, GET es idempotente y POST no lo es.

¿Qué significa que un método sea idempotente?

Significa que ejecutarlo una o varias veces produce el mismo resultado en el servidor. GET, PUT y DELETE son idempotentes; POST no lo es, porque repetirlo puede crear varios registros. Es un concepto clave para diseñar API fiables y evitar duplicados.

¿Necesito configurar los métodos HTTP en mi hosting?

En la mayoría de los casos no: el servidor web admite los métodos estándar de forma predeterminada. Solo en situaciones concretas, por seguridad o al desarrollar una API, puede ser necesario habilitar o restringir métodos como PUT o DELETE, algo que se gestiona desde la configuración del servidor.

¿Tu web necesita un hosting que vuele?

Hosting en España con soporte real en español, migración gratis, SSL incluido y 30 días de garantía. Sin líos y sin costes ocultos.

Ver planes de hosting →