Métodos HTTP

Guía completa de métodos de solicitud HTTP con tablas comparativas y ejemplos.

Comparación

MétodoCon cuerpoIdempotenteSeguroCacheable
GET
POST
PUT
PATCH
DELETE
HEAD
OPTIONS
TRACE
CONNECT
GET

El metodo GET solicita una representacion del recurso especificado. Las solicitudes GET solo deben recuperar datos y no tener ningun otro efecto sobre el recurso. Dado que las solicitudes GET no modifican el estado, se consideran seguras e idempotentes.

Seguro
Idempotente
Cacheable
RFC 9110, Section 9.3.1

Casos de uso comunes

  • Obtener un perfil de usuario o detalles de cuenta
  • Listar colecciones de recursos como productos o publicaciones
  • Recuperar un recurso individual por su identificador
  • Cargar datos de configuracion o ajustes
  • Consultar resultados de busqueda con parametros de consulta
Solicitud
GET /api/users/123 HTTP/1.1
Host: api.example.com
Accept: application/json
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Respuesta
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: max-age=60

{
  "id": 123,
  "name": "Alice Johnson",
  "email": "alice@example.com",
  "role": "admin",
  "createdAt": "2025-08-14T10:30:00Z"
}
POST

El metodo POST envia una entidad al recurso especificado, causando frecuentemente un cambio de estado o efectos secundarios en el servidor. Se utiliza comunmente para crear nuevos recursos o desencadenar operaciones. POST no es seguro ni idempotente, lo que significa que solicitudes identicas repetidas pueden crear recursos duplicados.

Con cuerpo
RFC 9110, Section 9.3.3

Casos de uso comunes

  • Crear una nueva cuenta de usuario o recurso
  • Enviar un formulario o subir un archivo
  • Desencadenar un proceso del lado del servidor como el envio de un correo electronico
  • Publicar un comentario o mensaje
  • Iniciar un pago o transaccion
Solicitud
POST /api/users HTTP/1.1
Host: api.example.com
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...

{
  "name": "Bob Smith",
  "email": "bob@example.com",
  "role": "member"
}
Respuesta
HTTP/1.1 201 Created
Content-Type: application/json
Location: /api/users/456

{
  "id": 456,
  "name": "Bob Smith",
  "email": "bob@example.com",
  "role": "member",
  "createdAt": "2026-03-02T14:22:00Z"
}
PUT

El metodo PUT reemplaza todas las representaciones actuales del recurso objetivo con el contenido de la solicitud. Si el recurso no existe, PUT puede crearlo. PUT es idempotente, lo que significa que realizar la misma solicitud multiples veces produce el mismo resultado que realizarla una sola vez.

Idempotente
Con cuerpo
RFC 9110, Section 9.3.4

Casos de uso comunes

  • Reemplazar un perfil de usuario con datos actualizados
  • Subir un archivo a una URI especifica
  • Actualizar la representacion completa de un objeto de configuracion
  • Establecer o sobrescribir un recurso en una URL conocida
Solicitud
PUT /api/users/123 HTTP/1.1
Host: api.example.com
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...

{
  "name": "Alice Johnson-Smith",
  "email": "alice.js@example.com",
  "role": "admin"
}
Respuesta
HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": 123,
  "name": "Alice Johnson-Smith",
  "email": "alice.js@example.com",
  "role": "admin",
  "updatedAt": "2026-03-02T15:10:00Z"
}
PATCH

El metodo PATCH aplica modificaciones parciales a un recurso. A diferencia de PUT, que reemplaza el recurso completo, PATCH solo actualiza los campos proporcionados en el cuerpo de la solicitud. PATCH no es seguro ni necesariamente idempotente, aunque puede implementarse de forma idempotente.

Con cuerpo
RFC 5789

Casos de uso comunes

  • Actualizar un campo individual como el correo electronico o el nombre de visualizacion
  • Alternar un indicador booleano como el estado activo o archivado
  • Modificar incrementalmente un recurso complejo
  • Aplicar un documento JSON Patch o JSON Merge Patch
Solicitud
PATCH /api/users/123 HTTP/1.1
Host: api.example.com
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...

{
  "email": "alice.new@example.com"
}
Respuesta
HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": 123,
  "name": "Alice Johnson",
  "email": "alice.new@example.com",
  "role": "admin",
  "updatedAt": "2026-03-02T15:45:00Z"
}
DELETE

El metodo DELETE elimina el recurso especificado del servidor. Despues de un DELETE exitoso, las solicitudes GET subsiguientes a la misma URI deberian devolver 404 Not Found. DELETE es idempotente, lo que significa que eliminar un recurso ya eliminado no deberia producir un error mas alla de la eliminacion inicial.

Idempotente
RFC 9110, Section 9.3.5

Casos de uso comunes

  • Eliminar una cuenta de usuario o perfil
  • Quitar un articulo del carrito de compras
  • Eliminar un archivo o documento subido
  • Revocar una clave API o token de acceso
  • Darse de baja de una lista de correo
Solicitud
DELETE /api/users/123 HTTP/1.1
Host: api.example.com
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Respuesta
HTTP/1.1 204 No Content
X-Request-Id: req_abc123
HEAD

El metodo HEAD es identico a GET excepto que el servidor no debe devolver un cuerpo de mensaje en la respuesta. Es util para verificar si un recurso existe, inspeccionar encabezados o probar enlaces sin descargar la respuesta completa. HEAD es seguro e idempotente.

Seguro
Idempotente
Cacheable
RFC 9110, Section 9.3.2
Ejemplo
HEAD /api/users/123 HTTP/1.1
Host: api.example.com
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
OPTIONS

El metodo OPTIONS describe las opciones de comunicacion disponibles para el recurso objetivo. Se utiliza comunmente en solicitudes preflight de CORS donde el navegador verifica que metodos HTTP y encabezados estan permitidos antes de enviar la solicitud real. OPTIONS es seguro e idempotente.

Seguro
Idempotente
RFC 9110, Section 9.3.7
Ejemplo
OPTIONS /api/users HTTP/1.1
Host: api.example.com
Origin: https://app.example.com
Access-Control-Request-Method: POST
Access-Control-Request-Headers: Content-Type, Authorization
TRACE

El metodo TRACE realiza una prueba de bucle de mensaje a lo largo de la ruta hacia el recurso objetivo, devolviendo la solicitud recibida como eco. Se utiliza principalmente con fines de diagnostico para ver como los proxies intermedios modifican la solicitud. TRACE rara vez se usa en APIs de produccion y a menudo esta deshabilitado por razones de seguridad.

Seguro
Idempotente
RFC 9110, Section 9.3.8
Ejemplo
TRACE /api/users HTTP/1.1
Host: api.example.com
Max-Forwards: 3
CONNECT

El metodo CONNECT establece un tunel hacia el servidor identificado por el recurso objetivo. Se utiliza principalmente con proxies HTTP para iniciar una conexion TLS/SSL de extremo a extremo a traves del proxy, permitiendo que el trafico HTTPS pase por un proxy HTTP. CONNECT no es seguro ni almacenable en cache.

RFC 9110, Section 9.3.6
Ejemplo
CONNECT api.example.com:443 HTTP/1.1
Host: api.example.com:443
Proxy-Authorization: Basic dXNlcjpwYXNz

Guías relacionadas

Pruébalo en RequestDock

Envía solicitudes HTTP reales e inspecciona las respuestas — directamente en tu navegador.