Víctor Márquez Andreo
Un servidor web es una aplicación llevada a cabo en el lado del servidor que mantiene conexiones bidireccionales o direccionales con el cliente solicitante y concediendo una respuesta posibilitada mediante varios tipos de lenguaje. El código recibido por el cliente es compilado y ejecutado por el navegador web.
El Servidor web se ejecuta en un servidor manteniéndose a la espera de peticiones por parte de un cliente mediante el navegador web, y que responde a estas peticiones adecuadamente, mediante una página web que se mostrará en el navegador o notificando el respectivo mensaje si se detectó algún error. Cuando entras en una web con tu navegador, éste realiza una petición HTTP al servidor de dicha dirección. El servidor responde al cliente enviando el código HTML de la página; el cliente, una vez recibido el código, lo interpreta y lo muestra en pantalla.
El cliente es el encargado de interpretar el código HTML, es decir, de mostrar las fuentes, los colores y la disposición de los textos y objetos de la página; el servidor tan sólo se limita a transferir el código de la página sin llevar a cabo ninguna interpretación de la misma.
Además de la transferencia de código HTML, los servidores web pueden entregar aplicaciones web implementadas dentro del código almacenado en el mismo.
SSL es un protocolo de encriptación que proporciona seguridad a las comunicaciones de una red de Internet, y lo hace aportando autenticación y privacidad al tránsito de información, desencriptandose en los extremos mediante certificados de seguridad.
El protocolo SSL intercambia registros. Opcionalmente, cada registro puede ser comprimido, cifrado y empaquetado con un código de autenticación del mensaje (MAC). Cada registro especifica el protocolo de nivel superior que se está usando.
Cuando se inicia la conexión, el nivel de registro encapsula otro protocolo, el protocolo handshake.
El cliente envía un mensaje ClientHello especificando una lista de conjunto de cifrados, métodos de compresión y la versión del protocolo SSL más alta permitida. Además puede incluir el identificador de la sesión.
Después, recibe un registro ServerHello, en el que el servidor elige los parámetros de conexión a partir de las opciones ofertadas con anterioridad por el cliente.
Cuando los parámetros de la conexión son conocidos, cliente y servidor intercambian certificados.
Cliente y servidor negocian una clave secreta (simétrica) común llamada master secret, usando el resultado de un intercambio o simplemente cifrando una clave secreta con una clave pública que es descifrada con la clave privada de cada uno.
Todos los datos de claves restantes son derivados a partir de este master secret que son pasados a través de una función elegida.