Protocolos de comunicación web: HTTP, HTTPS y SMTP
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 4,43 KB
HTTP: Protocolo de Transferencia de Hipertexto
- HTTP (HyperText Transfer Protocol) o Protocolo de Transferencia de Hipertexto es un conjunto de reglas que rigen la transferencia de datos en una comunicación web.
- En su origen, la finalidad es la transferencia de hipertexto (texto con componentes y enlaces a otros textos).
- En la actualidad, es utilizado tanto para la transferencia de hipertexto como para la transferencia de ficheros (carga y descarga de ficheros), datos (XML), tráfico de red (SSLVPN), etc.
- Los datos de una transacción HTTP son enviados en una comunicación TCP al puerto 80 (por defecto) tipo cliente-servidor en la que el cliente (navegador web) envía una petición al servidor HTTP y el servidor responde cerrando o no la conexión.
HTTPS: Versión segura de HTTP
- El protocolo HTTPS es una versión segura del protocolo HTTP que implementa un canal de comunicación seguro y basado en SSL (Secure Socket Layers) entre el navegador del cliente y el servidor HTTP.
- TCP/IP es un canal de comunicación no seguro, donde para ir de un cliente a un servidor, la información realiza una serie de saltos entre diferentes routers que se encargan de hacer llegar la información a su destino.
- En cada uno de estos saltos, la información es transmitida en la red local del router, siendo recibida también (dependiendo del dispositivo que crea dicha red) por todos los dispositivos de la misma red, pudiendo ser capturada para fines malintencionados.
- No podemos evitar esto, pero podemos encriptar esta información para que una vez capturada no pueda conocerse su contenido y así poder enviar con tranquilidad números de cuenta, datos personales, etc.
- A diferencia de HTTP, HTTPS trabaja por defecto por el puerto 443 TCP, y antes de enviar los datos realiza algunas acciones previas.
Negociación y seguridad en HTTPS
- Para hacer esta negociación, el cliente envía al servidor las opciones de cifrado, compresión y versión de SSL junto con algunos bytes aleatorios llamados Challenge de Cliente.
- El servidor escoge las opciones de cifrado, compresión y versión de SSL entre las que ha ofertado el cliente y le envía su decisión y su certificado.
- Ambos negocian la clave secreta llamada master secret y usando esta clave, la Challenge de Cliente y las opciones pactadas se envían la información encriptada de tal manera que de ser interceptada no se puede descifrar.
- Un certificado de clave pública es un "documento" que certifica que el interlocutor (el servidor HTTPS en el caso de HTTPS) es quien realmente dice ser, esto se hace para evitar que un atacante pueda hacerse pasar por el servidor y recibir la comunicación segura en su lugar.
- Estos certificados pueden generarse con herramientas como OpenSSL y para una mayor seguridad pueden y deben ser firmados por una autoridad certificadora.
SMTP: Protocolo para el envío de correos electrónicos
- SMTP (Simple Mail Transfer Protocol) o Protocolo Simple de Transferencia de Correo Electrónico es un conjunto de reglas que rigen el formato y la transferencia de datos en un envío de correo electrónico (e-mail).
- El autor del mensaje utiliza un cliente de correo (puede ser un programa o una aplicación web) para escribir un mensaje a un destinatario. El cliente de correo genera el código SMTP del mensaje y lo envía a un servidor SMTP saliente.
- El servidor saliente utiliza una consulta DNS para conocer los servidores de correo entrante del dominio del destinatario y envía el correo SMTP al primero de ellos que responde.
- Este servidor almacena el correo en el buzón de correo en el servidor del destinatario.