Hace unos días, con la plena intensión de compartir mis años de experiencia trabajando con tecnologías web, escribí mi primer artículo intentando explicar ¿Cómo funciona realmente una página web? . En este artículo detallaba que es lo primero que hace el navegador web al escribir en su barra de direcciones en nombre de la página a la que deseamos acceder. Este primer proceso tiene como objetivo determinar la dirección IP del servidor donde se encuentra alojada la página con ayuda del estándar de internet DNS.
¿Que sucede luego de que se conocen las direcciones origen (la de nuestra PC) y destino (Servidor web)? Para responder a esta pregunta debemos profundizar un poco más en el funcionamiento propio de la red.
Internet se modeló en base a un sistema de siete capas, donde cada una le presta un servicio (le es funcional) a la capa que tiene inmediatamente por encima. La capa 1 (Física o Physical) son los cables, fibra óptica y las señales electro/ópticas que estos soportes canalizan, incluyendo el WiFi. La capa 2 la podemos omitir en este momento para los fines de responder a la pregunta ¿Cómo funciona realmente una página web?. La capa 3 es conocida popularmente como la capa «IP» la cual ya se armó en el primer paso realizado por el navegador web al resolver las direcciones IP origen y destino. En este artículo me centraré en la capa 4, la cual muchas veces genera confusiones entre los desarrolladores web. Conocida también como la capa TCP esta tiene la funcionalidad de mantener los datos que se transmiten por la red libre de errores. Si la información se «pierde» en el camino esta capa se encarga de recuperar la información perdida para que llegue a nosotros tal como se transmitió en el origen. Como se darán cuenta la utilidad de esta capa es fundamental.
TCP al igual que IP es un protocolo de intenret que recibe su nombre de sus siglas en inglés de Transmission Control Protocol, el cual introduce el concepto de «puerto» en internet. ¿Qué es un puerto?. Permitanme hacer un paralelismo para explicar este concepto tan abstracto. Si un servidor es un edificio donde cada departamento es un piso completo, la dirección IP es la dirección del edificio (ejemplo Avenida Costanera 1034), y el puerto es el «número de piso» del edificio.
Si Esteban vive en ese edificio y lo quiero ir a visitar debo conocer la dirección y el número de piso donde vive, para lograr verlo. Volviendo a nuestro caso si quiero traer de un servidor una página web en particular deberé llamar al puerto 80… si el famoso puerto 80! de ahí viene. Si quiero traer un sitio web de manera segura donde su información este encriptada (SSL) deberé llamar al puerto 443.
Existen claro otros puertos de interés para los desarrolladores web como son el puerto 21 que corresponde al protocolo FTP de transferencia de archivos por medio de la red, o el puerto 22 que nos permite conectarnos de manera segura a una consola de comandos remota por medio del protocolo SSH. El puerto 80 se corresponde al protocolo HTTP y el 443 al HTTPS, protocolos que describiré en el siguiente artículo.