REDES I. ¿Cómo funcionan nuestros navegadores? ¿Qué es un servidor Web?


Comenzamos la serie Redes en Tecnologías de la Información y la Comunicación. Los objetivos de este blog se distan mucho de adentrarnos en protocolos y fundamentos técnicos de las telecomunicaciones, por lo que utilizaremos está serie únicamente para introducir una serie de fundamentos e ideas que considero básicos para trabajar en Internet.
Uno de las grandes ventajas de las TIC se basa en su transparencia de cara al usuario final. Alguien puede crear un blog sin tener ni idea de cómo los lectores acceden a él o incluso sin tener muy claro cómo se almacenan las entradas que escribe en un servidor. Lo mismo sucede con la persona que envía mensajes utilizando su smartphone. No hace falta ser especialista en el tema para aprovecharse de todas las facilidades y servicios que estas tecnologías aportan. Básicamente, no hace falta saber cómo funciona algo para saber utilizarlo. Aún así, si queremos darle una vuelta de tuerca más al asunto y comenzar a programar aplicaciones web, es necesario conocer unos fundamentos y tener claros una serie de conceptos relacionados con las redes. He aquí el por qué de la serie.

Comenzamos esta primera entrada analizando cómo funcionan nuestros navegadores. Básicamente, los navegadores son software que nos permite visualizar el contenido de páginas web. Hay unos cuantos, si bien los más conocidos son Internet Explorer, Chrome, Firefox, Safari, Opera... Para gustos se hicieron los colores, yo actualmente utilizo Google Chrome, pero a lo largo de mis 15 años de experiencia en el mundillo, he utilizado todos los anteriores (y alguno más) y ninguno es tan malo como lo pintan.

Retomando el hilo, y por poner un ejemplo de transparencia, para ver una página web (suponiendo que dicha página es un HTML sencillo con algún CSS asociado), generalmente escribimos su dirección en la barra de direcciones, pulsamos enter y al cabo de un tiempo variable (en función de nuestra velocidad de conexión) la página se carga. 

Para "des-transparentar" (perdón por el palabro xD) este proceso primero tendremos que quedarnos con una definición de lo que es un servidor web:

Por servidor web podemos entender tanto el hardware como el software que permiten entregar contenido web a quien lo solicite (navegadores web) a través de Internet. Son por lo tanto ordenadores o aplicaciones (en función del contexto) siempre accesibles, o así deberían de serlo.

Teniendo en cuenta la anterior definición, podemos desglosar el sencillo proceso anterior en los siguientes pasos:
  1. Introducimos la dirección en la barra de direcciones.
  2. El navegador busca la dirección IP asociada al servidor al que queremos acceder. Para ello se pone en contacto con un servidor DNS (Domain Name Server). Básicamente un servidor DNS almacena la correspondencia entre nombres de dominio y direcciones IP y para acceder a la página que queremos visualizar es necesario conocer la dirección IP del servidor donde está alojada...
  3. Hay muchos servidores DNS. Si la dirección IP que necesitamos no está en el servidor DNS al que estamos accediendo, la petición de la dirección IP se reenvía a otros servidores.
  4. El servidor DNS inicial u otro envía la dirección IP del servidor a nuestro navegador.
  5. Nuestro navegador envía una petición HTTP al servidor que aloja la página web que queremos visualizar utilizando la dirección IP que nos ha facilitado el servidor DNS. Básicamente y muy a grosso modo en la petición se le indica al servidor web nuestra dirección IP y la página que queremos visualizar (el proceso es más complicado pero con saber esto nos vale). Como curiosidad decir que la petición HTTP puede atravesar medio mundo hasta que llegue al servidor.
  6. El servidor comprueba si tiene dicha página en sus discos duros.
  7. Si el servidor tiene la página, la enviará de vuelta a nuestro navegador web valiéndose de la dirección IP que se envío en la petición HTTP. En caso de no tener dicha página se enviará el típico error 404.
  8. Nuestro navegador interpretará la página que ha recibido y la mostrará. 
Podemos poner este último punto en relación o conjunción con la serie HTML de la sección Programación. Como ya dijimos, HTML es un lenguaje formado por etiquetas. Dichas etiquetas contienen la información necesaria para que nuestro navegador web lea, interprete, estructure y "pinte" la página web tal y como el diseñador de la misma quiera.

Para finalizar con la entrada, es importante destacar que en el presente ejemplo, hemos supuesto que el servidor web almacena una página HTML sencilla. Generalmente esto no es así, y las páginas web grandes suelen utilizar lenguajes de programación y distintas aplicaciones del lado del servidor web como pueden ser Java, PHP, ASP.Net, almacenamiento de datos en bases de datos... Aún así, todas estas tecnologías suelen ser utilizadas para generar páginas HTML y archivos CSS que puedan ser interpretados por nuestros navegadores.


OBJETIVOSConocer cómo funcionan nuestros navegadores y lo que es un servidores web. Conocer cómo ambos elementos se relacionan.
DIFICULTADFácil
REQUISITOSNo es imprescindible, pero si recomendable tener una ligera idea de lo qué es HTML.
CONSEJOS ---
PRÓXIMAMENTESeguiremos desentrañando de una manera bastante ligera y asequible los entresijos de la red de redes.


SERIE REDES
REDES I. ¿Cómo funcionan nuestros navegadores? ¿Qué es un servidor web?
REDES II. TCP/IP. El protocolo. (próximamente).

No hay comentarios:

Publicar un comentario