Entendiendo el Protocolo HTTP: Funcionamiento, y Ejemplos Prácticos, orientado a Ciberseguridad.

Qué hay detrás de una solicitud HTTP..??

Cada vez que visitas una página web, se produce una conversación silenciosa entre tu navegador y un servidor. Esta conversación ocurre gracias a HTTP, el protocolo que hizo posible la Web como la conocemos. Pero HTTP no es solo una herramienta de comunicación: es también un punto crítico desde la perspectiva de la ciberseguridad. En este artículo, exploraremos cómo funciona HTTP (Métodos, Códigos, Headers, etc), por qué importa, y cómo identificar riesgos asociados a su uso.

Aprenderemos:

  • Qué es HTTP?
  • Evolución HTTP
  • Anatomía de una URL
  • Solicitud y respuesta (Cliente-Servidor)
  • Métodos HTTP
  • Códigos de estado HTTP
  • Headers HTTP
  • Importancia del HTTP en ciberseguridad.

¿Qué es HTTP?

HTTP (HyperText Transfer Protocol) es el protocolo que permite que tu navegador se comunique con los servidores web. Fue creado entre 1989 y 1991 por Tim Berners-Lee, y permite solicitar y recibir contenido como HTML, imágenes, archivos JSON, etc. Su arquitectura cliente-servidor es la base del funcionamiento web.

Problema de seguridad: HTTP transmite datos en texto plano, lo que significa que la información puede ser interceptada. Por eso nació HTTPS, la versión cifrada mediante SSL/TLS, que protege la confidencialidad e integridad de los datos.

EVOLUCIÓN:

A lo largo de los años, se han desarrollado varias versiones de HTTP, cada una mejorando aspectos clave como la seguridad y el rendimiento. La primera versión, HTTP/0.9, se introdujo en 1991, proporcionando una forma sencilla de transferir archivos de texto. Con la llegada de HTTP/1.0 en 1996, se incorporaron características como la gestión de cabeceras y la posibilidad de manejar diversos tipos de contenido. Posteriormente, HTTP/1.1, que se lanzó en 1997, trajo consigo una mayor eficiencia, la capacidad de mantener conexiones persistentes y mejoras en el manejo de caché.

Más recientemente, HTTP/2 fue presentado en 2015, optimizando la velocidad de carga de páginas mediante técnicas como la multiplexión de solicitudes y la compresión de cabeceras. Con el crecimiento de la preocupación por la seguridad en internet, HTTP/3, la versión más reciente, utiliza el protocolo QUIC (Quick UDP Internet Connections) para mejorar significativamente la seguridad de las comunicaciones y reducir la latencia.

VERSIÓNAÑOSEGURIDADRENDIMIENTOCOMENTARIOS
0.91991Sin cifradoPetición en una única linea, con el único método posible GETForma sencilla de transferir archivos de texto
1.01996Sin cifrado nativoCada solicitud abre una conexión nuevaObsoleto. No soporta conexiones persistentes.
1.11997Soporta HTTPSIntroduce conexiones persistentes (keep-alive)Amplio uso aún hoy. Soporta compresión y mejoras básicas.
22015Cifrado opcional (pero casi siempre con TLS)Multiplexación de múltiples solicitudes en una sola conexiónMucho más rápido en carga de páginas. Reduce latencia.
32022Cifrado obligatorio (TLS 1.3)Basado en QUIC (sobre UDP), más rápido y resistente a pérdidas de conexiónSeguridad y rendimiento al siguiente nivel. Ideal para móviles.

Anatomía de una URL y su importancia en ciberseguridad

Una URL (Uniform Resource Locator) identifica un recurso online. Está compuesta por varios elementos que pueden ser utilizados (o manipulados) en ataques cibernéticos.

Fuente (tryhackme.com)

Squeme: Protocolo usado, este puede ser http, https, ftp, etc

User: Algunos servicios requieren autenticación (user y password).

Host/Domain: Nombre de dominio o IP del servidor.

Port: Al puerto de conexión, usualmente 80 para http, 443 para https, pero estos pueden ser seteados a cualquier puerto entre 1 – 65535.

Path: Recurso que intentas acceder.

Query String/Parámetros: Son valores adicionales que se agregan a una URL para enviar datos al servidor o para que una página web muestre contenido dinámico.

Fragment: Se refiere a una ubicación interna dentro de la página actual.

Veamos partes críticas de una URL con respecto a la ciberseguridad

1. Protocolo (http:// o https://)

Importancia: Asegura si la conexión está cifrada.

  • https:// → conexión segura (TLS/SSL).
  • http:// → insegura; tus datos pueden ser interceptados.

Riesgo: Sitios maliciosos muchas veces usan http o simulan ser https (con íconos falsos).

2. Nombre de dominio (host)

Clave para detectar phishing o suplantación.

Riesgo: Dominios parecidos o engañosos (g00gle.com, paypa1.com) son muy usados en estafas.

Buenas prácticas: Mira el dominio justo antes del .com, .net, etc.

3. Subdominio (sub.dominio.com)

Subdominios legítimos: login.microsoftonline.com
Maliciosos: microsoftonline.com.hack-site.xyz Riesgo: Los atacantes usan subdominios para parecer confiables

Buenas prácticas:  

  1. Evita utilizar o visitar subdominios que puedan parecer dominios falsos
    • login.banco.com.seguro-clientes.net 
    • login.banco.com              
  2. No delegues subdominios críticos a servicios externos sin control.
    • app.miempresa.com → apunta a un servicio de terceros no monitoreado
    • Si el proveedor cierra o libera esa ruta, alguien podría tomar el control del subdominio (ataque de Subdomain Takeover).  
    • Usa CNAME apuntando solo a servicios con control activo, y elimina registros obsoletos.          
  3. Usa nombres de subdominios claros y específicos.
    • Incorrecto: site.miempresa.com
    • Correcto: panel.miempresa.com
    • Correcto: intranet.miempresa.com
  4. Aplica certificados HTTPS únicos o SAN (Subject Alternative Names)
    • Cada subdominio debe estar cubierto por: – Esto asegura que cada subdominio tenga cifrado HTTPS válido.
      • Un certificado wildcard (*.miempresa.com)
      • O un SAN con los subdominios listados.
  5. Audita subdominios regularmente, para identificar Subdominios activos y vulnerables, y Subdominios huérfanos o no utilizados

4 Ruta (/cuenta/actualizar)

Es la parte que sigue al dominio: https://banco.com/cuenta/actualizar

Riesgo: URLs con rutas muy largas, confusas o codificadas pueden ocultar scripts maliciosos o redireccionamientos falsos

5 Parámetros (query string)

El signo ? inicia los parámetros. Cada par clave=valor se separa con & si hay varios.

  • categoria=ropa → Le dice a la página que filtre solo ropa.
  • orden=precio_desc → Le indica que ordene por precio descendente.

¿Para qué se usan los parámetros?

FunciónEjemplo de parámetro
Búsquedas?q=zapatos
Paginación?pagina=2
Filtros?color=azul&talla=M
Identificadores?id=1234
Idioma o región?lang=es
Seguimiento o campañas?utm_source=facebook

¿Cómo los recibe el servidor?

  • En métodos GET, los parámetros van en la URL.
  • En métodos POST, los parámetros suelen ir en el cuerpo (body), pero pueden combinarse.

Riesgo:

  • Enlaces de phishing incluyen IDs falsos, tokens o comandos maliciosos.
  • Pueden usarse para inyección SQL, XSS u otros ataques.

Buenas prácticas:

  • No enviar información sensible por URL (como contraseñas).
  • Los valores deben estar codificados si incluyen espacios o caracteres especiales (%20, etc.).
  • Usar POST en lugar de GET para formularios privados.

6. Fragmento:

Un fragmento es la parte de una URL que viene después del símbolo #, también conocido como anchor (ancla). El propósito principal del fragmento es llevar al navegador a una sección específica de la página, sin recargarla. Si una página HTML tiene elementos con un id, el fragmento hace que el navegador salte directamente a esa sección.

Uso en aplicaciones web modernas (SPA). En aplicaciones de una sola página (Single Page Applications – SPA), los fragmentos:

  • Se usan para manejar rutas internas sin recargar la página.
  • Son útiles en frameworks como AngularJS, Vue.js, React (con hash router).

Se debe tomar en cuenta que no se envían al servidor, por lo cual es clave en seguridad y arquitectura, no se incluye en la solicitud HTTP al servidor, lo interpreta el navegador del cliente

Casos de uso comunes:

EscenarioEjemplo de fragmentoResultado
Saltar a una sección del sitio#contactoDesplaza la vista al formulario de contacto
SPA o navegación interna#/perfilMuestra la sección «perfil» sin recargar
Documentación técnica#parametrosEnfoca el lector en el apartado de parámetros

Riesgo: Algunos ataques modernos usan el fragmento para inyectar scripts o robar tokens en apps mal diseñadas.

Ejemplo práctico: Solicitud/Respuesta web

Veamos un ejemplo práctico de una solicitud web, utilizando la herramienta de línea de comando (curl) para realizar solicitudes HTTP/HTTPS.

Primero hagamos una petición con HTTP:

curl: herramienta de línea de comandos para hacer solicitudes HTTP/HTTPS.

-v: modo verbose, muestra toda la conversación cliente-servidor.

http://google.com: realiza una solicitud HTTP (no cifrada) al sitio web.

1. Resolución DNS

El equipo resolvió el dominio google.com a la IP 142.251.132.142 mediante una consulta DNS.

2. Conexión al puerto

3. Solicitud del cliente enviada

CampoSignificado
GET /Utiliza el método GET. Solicita la raíz del sitio web (/)
HTTP/1.1Usa HTTP versión 1.1
Host:Indica el nombre del dominio consultado (google.com)
User-Agent:Identifica la herramienta (en este caso, curl/8.13.0)
Accept:El cliente acepta cualquier tipo de contenido (*/*)

Las solicitudes HTTP siempre finalizan con una línea en blanco para informar al servidor que la solicitud ha finalizado.

4. Respuesta del Servidor

CódigoSignificado
301El recurso solicitado ya no está en http://google.com, ahora está en http://www.google.com.

Google redirige para asegurarse de que accedas a la versión con www.

5. Cabeceras importantes de seguridad

Estas cabeceras protegen al sitio de ciertos ataques web:

CabeceraFunción
Content-Security-Policy-Report-OnlyControla de dónde se pueden cargar scripts, objetos, etc. (mitiga XSS)
X-XSS-Protection: 0Desactiva la protección anti-XSS del navegador (porque Google usa su propia lógica)
X-Frame-Options: SAMEORIGINEvita que el sitio se incruste en un iframe de otro sitio (previene clickjacking)
Server: gwsIndica que es el Google Web Server

6. Contenido HTML

Es una página HTML mínima que acompaña la redirección.

Ahora, veamos una conexión con HTTPS:

Petición https:

1. Resolución DNS y conexión al puerto

2. Negociación TLS (Handshake)

Una vez que el cliente tiene la IP, se conecta al puerto 443 (HTTPS) y se establece una conexión segura mediante TLS.

  • El servidor envía su certificado digital
  • El cliente valida el certificado (fecha, autoridad certificadora, coincidencia con el dominio)
  • Se negocian claves de cifrado

Aquí se establece la confidencialidad, integridad y autenticación.

3. Solicitud HTTPS mediante GET

Una vez que la conexión TLS está lista, se envía la solicitud HTTP cifrada:

Se usa la versión 2 de HTTP

4. Respuesta del Servidor

Estado 200 OK: Respuesta exitosa. El servidor respondió satisfactoriamente.

5. Cabeceras importantes de seguridad

De acuerdo a la salida, las cabeceras de seguridad utilizadas son:

content-security-policy-report-only:
Limita desde qué fuentes se pueden cargar scripts, imágenes, objetos, etc.
En modo report-only, lo registra pero no bloquea — útil para pruebas.

x-frame-options: SAMEORIGIN:
Protege contra clickjacking, impidiendo que la página sea embebida en un iframe desde otro dominio.

x-xss-protection: 0:
Desactiva la protección contra XSS del navegador. No es ideal; Google lo desactiva porque tiene otras defensas más fuertes.

set-cookie:
Google establece varias cookies con atributos de seguridad:

  • Secure: solo se envía por HTTPS
  • HttpOnly: no accesible vía JavaScript (protege contra XSS)
  • SameSite=lax: mitiga ataques CSRF

6. Cabeceras de control y comportamiento.

cache-control: private, max-age=0:
No almacenar en cachés compartidas. La respuesta es específica para el usuario.

vary: Accept-Encoding:
El contenido puede cambiar según la codificación aceptada por el navegador (gzip, br, etc.)

server: gws:
Indica que responde el Google Web Server.

7. Contenido HTML

Esto indica que el contenido es:

  • Una página HTML válida
  • Con idioma latinoamericano español (es-419)
  • Codificación UTF-8

Esto es el inicio del código fuente de la página principal de Google. A continuación, vendrían los elementos del formulario de búsqueda, scripts, imágenes, etc.

Detalles importantes desde ciberseguridad:

ElementoEvaluación
HTTPS activo y TLS 1.3Cifrado fuerte para proteger confidencialidad e integridad
Cookies con Secure y HttpOnlyBuenas prácticas contra robo de sesión y ataques XSS
CSP (en modo report-only)Aún en pruebas; se recomienda habilitarla en modo enforce
X-Frame-Options: SAMEORIGINProtege contra clickjacking
X-XSS-Protection: 0Se desactiva por motivos internos, pero no es recomendable para sitios normales

Métodos HTTP más comunes:

1. GET “Dame esto”

  • Solicita datos al servidor (como una página web o imagen).
  • No modifica nada.
  • Ejemplo: Cuando visitas una web, haces un GET.

2. POST “Aquí tienes estos datos”

  • Envía datos al servidor (como un formulario de inicio de sesión).
  • Se usa para crear o procesar algo.
  • Ejemplo: Ingresar tus credenciales en un login.

3. PUT “Crea o reemplaza esto”

  • Envía datos para crear o actualizar un recurso.
  • Si ya existe, lo reemplaza; si no, lo crea.

4. PATCH “Actualiza solo una parte”

  • Similar a PUT, pero solo cambia una parte específica del recurso.
  • Más ligero y específico.

5. DELETE “Borra esto”

  • Elimina un recurso en el servidor.
  • Ejemplo: Eliminar una cuenta o archivo.

6. HEAD “Quiero saber si esto está ahí”

  • Como GET, pero solo devuelve los encabezados, no el contenido.
  • Se usa para comprobar si un recurso existe o su estado.

7. OPTIONS “¿Qué me permite hacer este servidor?”

  • Muestra los métodos HTTP que el servidor acepta.
  • Útil para seguridad, depuración o validaciones.

Códigos de estado HTTP:

¿Qué Significan las Respuestas de los Servidores?

Cuando visitamos una página web, detrás de escena ocurre una conversación entre tu navegador (el cliente) y el servidor web. Una de las primeras respuestas que da el servidor es una línea con un código de estado HTTP, que le dice al navegador qué ocurrió con su solicitud.

Estos códigos están organizados en cinco categorías principales, cada una con un propósito distinto:

1xx – Respuestas Informativas

Este grupo indica que el servidor ha recibido parte de la solicitud y que el navegador puede continuar enviando el resto. Estos códigos son muy poco comunes.

2xx – Solicitud Exitosa

Cuando todo sale bien, el servidor responde con un código en este rango. Es la señal de que tu solicitud fue recibida, entendida y procesada correctamente.

3xx – Redirecciones

Estos códigos le indican al navegador que la información no está en la URL solicitada y que debe buscarla en otra dirección. Se usan mucho para redirigir a los usuarios o motores de búsqueda. Es decir el recurso ha cambiado de ubicación.

4xx – Errores del Cliente

Aquí el error viene del lado del usuario. Puede deberse a una URL incorrecta, falta de permisos, parámetros ausentes, etc.

5xx – Errores del Servidor

Cuando el servidor tiene un problema interno y no puede manejar la solicitud, devuelve uno de estos códigos. Suelen indicar fallos más serios o caídas temporales del servicio.

Códigos Comunes que Deberías Conocer

A continuación, te explico los códigos HTTP más frecuentes que seguramente has visto en el navegar:

  • 200 OK – Todo funcionó bien. La página o recurso solicitado fue entregado correctamente.
  • 201 Created – Algo nuevo fue creado en el servidor. Por ejemplo, cuando te registras en una web o subes un archivo.
  • 301 Moved Permanently – El recurso fue movido de forma permanente a otra dirección. Muy usado para redireccionar dominios o páginas antiguas.
  • 302 Found – Similar al 301, pero la redirección es temporal. El destino puede cambiar más adelante.
  • 400 Bad Request – El servidor no pudo procesar tu solicitud porque está mal formada o le falta algo.
  • 401 Unauthorized – No puedes ver este contenido hasta iniciar sesión. Generalmente necesitas un usuario y contraseña.
  • 403 Forbidden – Acceso denegado. Aunque estés autenticado, no tienes permiso para ver este recurso.
  • 404 Not Found – ¡El clásico! La página que buscas no existe o fue eliminada.
  • 405 Method Not Allowed – El método HTTP usado no está permitido para ese recurso. Por ejemplo, usar GET cuando se esperaba un POST.
  • 500 Internal Server Error – El servidor encontró un problema inesperado al procesar la solicitud.
  • 503 Service Unavailable – El servidor no puede responder. Tal vez está saturado o en mantenimiento.

¿Por qué es importante conocerlos?

Entender estos códigos no solo es útil para desarrolladores y administradores web, sino también para analistas de ciberseguridad, quienes pueden detectar problemas de configuración, ataques, errores de autenticación o caídas de servicio.

HTTP Headers:

¿Qué son y por qué importan?

Cuando tu navegador se comunica con un servidor web, no solo envía una solicitud para cargar una página. También envía una serie de «encabezados HTTP» (headers), que son pequeñas piezas de información adicionales que ayudan al servidor a entender mejor qué se está solicitando y cómo debe responder.

Aunque técnicamente no son obligatorios, pero sin ellos muchas páginas no funcionarían correctamente.

Encabezados Comunes de Solicitud (Request Headers)

Estos headers los envía tu navegador (u otra herramienta cliente) cuando haces una solicitud a un sitio web:

Host

Indica el dominio específico que estás solicitando. Esto es clave cuando un mismo servidor aloja varios sitios web. Sin este header, podrías terminar viendo el sitio web «por defecto» del servidor.

User-Agent

Le dice al servidor qué navegador estás usando (y su versión). Esto permite que el contenido se adapte a tu navegador, ya que no todos los navegadores interpretan HTML, CSS o JavaScript de la misma manera.

Content-Length

Cuando envías información (como al llenar un formulario – como POST), este header le indica al servidor cuánta información estás enviando. Así se asegura que no se pierdan datos durante la transmisión.

Accept-Encoding

Este encabezado le dice al servidor qué tipos de compresión puede manejar tu navegador (como gzip o br). Esto ayuda a reducir el tamaño de los archivos para que carguen más rápido.

Aquí viajan las cookies que tu navegador guarda del sitio. Esto permite que el servidor recuerde quién eres, qué has hecho antes en la web, o tus preferencias (como el idioma).

Encabezados Comunes de Respuesta (Response Headers)

Estos headers los envía el servidor web como parte de su respuesta a tu solicitud. Son clave para entender cómo se entrega el contenido.

Permite que el servidor guarde información en tu navegador. Por ejemplo, una sesión iniciada o tu carrito de compras. Cada vez que visites el sitio, estas cookies se volverán a enviar al servidor.

Cache-Control

Controla cuánto tiempo puede tu navegador guardar la información en caché antes de volver a solicitarla. Esto ayuda a que las páginas carguen más rápido y reduce la carga en el servidor.

Content-Type

Indica el tipo de archivo que se está enviando: HTML, CSS, JavaScript, imagen, PDF, video, etc. Con esta información, tu navegador sabe cómo manejar el contenido recibido.

Content-Encoding

Le dice al navegador qué tipo de compresión se utilizó al enviar la información (por ejemplo, gzip). Así, el navegador puede descomprimir los datos y mostrarlos correctamente.

¿Por qué es relevante en ciberseguridad?

Los headers juegan un papel fundamental en la ciberseguridad y el rendimiento de los sitios web. Ayudan a proteger sesiones, a reducir el riesgo de ataques como XSS o CSRF, y a optimizar la experiencia del usuario.

Set-Cookie con HttpOnly y Secure ayuda a proteger contra robo de sesión (XSS).

Content-Type mal definido puede facilitar ataques XSS si el navegador interpreta contenido incorrecto.

Cache-Control puede proteger datos sensibles de ser almacenados localmente.

Accept-Encoding mal utilizado podría permitir ataques de compresión tipo BREACH si no se gestiona bien.

Además, hay cabeceras adicionales enfocadas en ciberseguridad, las cuales complementarían la ciberseguridad a un sitio web, estas son:

Cabecera¿Qué hace?Ejemplo / Valor recomendado
Strict-Transport-Security (HSTS)Obliga al navegador a usar solo HTTPS (incluso si escriben http://).Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
X-Frame-OptionsEvita que tu web sea embebida en un iframe (previene ataques clickjacking).X-Frame-Options: DENY o SAMEORIGIN
X-Content-Type-OptionsEvita que el navegador «adivine» el tipo de contenido (previene ejecución de scripts).X-Content-Type-Options: nosniff
X-XSS-ProtectionActiva (o desactiva) la protección básica del navegador contra Cross-site Scripting (XSS).X-XSS-Protection: 1; mode=block
Referrer-PolicyControla cuánta información del URL de origen se comparte con otros sitios.Referrer-Policy: no-referrer-when-downgrade
Permissions-Policy (antes Feature-Policy)Restringe APIs del navegador (cámara, micrófono, geolocalización).Permissions-Policy: geolocation=(), camera=()
Content-Security-Policy (CSP)Define de dónde se pueden cargar recursos (scripts, imágenes, CSS). Ayuda a prevenir XSS.Content-Security-Policy: default-src ‘self’; script-src ‘self’
Access-Control-Allow-OriginControla qué sitios pueden hacer solicitudes CORS a tu servidor (evita fuga de datos).Access-Control-Allow-Origin: https://midominio.com
Cross-Origin-Opener-Policy (COOP)Protege frente a ataques tipo Spectre y mejora aislamiento entre sitios.Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy (COEP)Requiere permisos para embebidos de otros sitios.Cross-Origin-Embedder-Policy: require-corp

¿Qué son las Cookies en la Web y Cómo Funcionan?

Cuando visitas un sitio web, tu navegador y el servidor web se comunican utilizando el protocolo HTTP. Pero hay un pequeño problema: HTTP es un protocolo sin estado (stateless), lo que significa que no recuerda quién eres entre una solicitud y otra. Aquí es donde entran las cookies.

Una cookie es simplemente un pequeño fragmento de información que el servidor web guarda en tu navegador. Este dato puede ser un nombre, una identificación, una preferencia de idioma o un token de autenticación.

¿Cómo funciona?

Vamos a desglosarlo paso a paso con un ejemplo ilustrativo:

1. El cliente solicita una página web

El navegador (cliente) envía una solicitud al servidor para visitar, por ejemplo, https://cybersec4you.net

2. El servidor responde con un formulario

El servidor entrega una página web que contiene un formulario pidiendo al usuario su nombre.

3. El cliente envía el formulario

El usuario llena el formulario (por ejemplo, con el nombre team) y lo envía al servidor mediante una solicitud POST.

4. El servidor crea la cookie

El servidor responde con un encabezado especial llamado Set-Cookie: name=team. Esto le dice al navegador que guarde esa cookie con el nombre del usuario.

5. El cliente envía la cookie en futuras solicitudes

Desde este punto, cada vez que el cliente haga una nueva solicitud al servidor, su navegador enviará automáticamente esa cookie con el encabezado Cookie: name=team.

6. El servidor reconoce al usuario

Gracias a la cookie, el servidor ya no necesita mostrar el formulario nuevamente, y en su lugar, puede mostrar un mensaje personalizado como: “Welcome back, team!

¿Para qué se usan las cookies?

Aunque se pueden usar para múltiples fines (recordar idioma, productos en el carrito, preferencias de visualización), su uso más común y crítico es la autenticación.

En estos casos, la cookie no contiene datos sensibles como contraseñas, sino un token único (string aleatorio) que identifica tu sesión. Este token lo valida el servidor en cada interacción.

¿Por qué son importantes en ciberseguridad?

  • Las cookies permiten mantener sesiones activas sin necesidad de autenticarse cada vez.
  • Si no se protegen bien (por ejemplo, sin HttpOnly, Secure, o SameSite), pueden ser robadas por atacantes mediante técnicas como XSS o session hijacking.
  • Por eso, es crucial que los desarrolladores las manejen con precaución y que los usuarios solo introduzcan credenciales en sitios web confiables.