Servidores y Clientes

servicios Hoy en día, cuando usamos internet, estamos haciendo uso de toda una serie de aplicaciones diversas y aunque nos parezca que solo estamos usando una cosa, el hecho es que la parte que no vemos, actúa como una navaja Suiza, usando la herramienta más adecuada para lo que estamos realizando.

 Aunque la parte central de las capas de comunicación, esté centrada sobre el TCP/IP, la verdad es que por encima de ellas se encuentran toda una serie de servicios distintos que se nos muestran muchas veces de forma similar. El HTTP, SMTP, POP3, FTP, IRC, IMAP, etc. son servicios que usan puertos específicos para trabajar.conectar a internet

 Pero vamos muy rápido. Lo primero es lo primero. ¿Cómo nos conectamos a internet?.

 Cuando contratamos el servicio de internet con nuestra compañía de telefonía, lo que ellos hacen es crear una conexión desde nuestro hogar a un ordenador que suele estar en la empresa de telefonía. Este ordenador nos suministra una dirección (IP) que será la que identificara nuestra conexión dentro de internet. Esa identificación, es la que tendrá el modem/router telefónico que está en nuestro hogar (o el equipo móvil de la conexión). Es por ello, que aunque en nuestra casa pueda haber varios PC, a efectos de internet, todos tenemos la misma dirección IP, pues nos conectamos por el mismo router. Esto también implica que nuestra conexión a internet partirá siempre de ese ordenador de la empresa de telefonía, con lo cual se puede rastrear una determinada conexión de cualquier PC para saber desde donde se conecta.cliente - Servidor

 Los diferentes ordenadores que se encuentran por internet y que nos ofrecen los servicios como paginas web, correo, Chat, etc los denominamos “Servidores”, porque nos “sirven” aquello que les pedimos. A nuestros ordenadores de casa, podemos definirlos como “Clientes”, porque son los que piden las cosas a los servidores.

front-end y back-end Cualquier programa que ejecutemos en nuestro ordenador, se puede separar en dos partes, una es la que vemos y en la que entramos los datos. A esta se le denomina Front-End La otra es la que trabaja por detrás, buscando, almacenando, calculando, recogiendo datos y haciendo en definitiva, cualquier tarea en la que no tengamos que intervenir. A esta parte se le denomina Back-End.

 Cuando pedimos una pagina web a un servidor, una parte del código se ejecuta en el cliente (nosotros – front-end) y otra parte se ejecuta en el servidor (back-end). Cuando se habla del balanceo de carga entre cliente y servidor, realmente lo que significa es cuanto código ejecuta uno y el otro. Esta no es una cuestión baladí, si tenemos en cuenta que a un servidor pueden conectarse miles de clientes, nos daremos cuenta de la cantidad de código por segundo que debe soportar. La mayoría de sistemas de programación actuales, intentan liberar en lo posible la carga del servidor y que el cliente realice la máxima cantidad de tareas para liberar al servidor de su carga. 

HTML y W3C

Mosaic Mirando internet desde nuestra perspectiva temporal, nos damos cuenta de la cantidad de problemas y escollos que ha tenido que salvar para llegar a su estado actual. La comunicación de los primeros ordenadores con los antiguos sistemas operativos, que permitía una cantidad muy limitada de funciones en cuanto a comunicación de datos y menos todavía a nivel de visualización “amigable” de los datos comunicados, se vio pronto desbordada por la inclusión en la red de ordenadores diferentes y sistemas operativos de lo mas variado.web 2.0

 La base de la comunicación por paquetes y mediante TCP/IP quedaron definidos casi en el comienzo de la red, pero funcionalidades como las actuales y elementos de uso frecuente como blogs, rss, foros, etc, estaban todavía por venir

 Aunque fue un invento más bien tardío, el elemento que dio el espaldarazo final a internet, fue la creación del navegador. Desde el Incipiente Mosaic, a los ampliamente difundidos Netscape e Internet Explorer o finalmente los reconocidos Firefox, Chrome, Safari u Opera, no han dejado de evolucionar.

html Pero para que todo esto no se desmadrara, han hecho falta dos cosas:

 La primera, un lenguaje que todos estos navegadores consiguieran entender e interpretar de forma coherente. Ese honor le correspondió al HTML (HyperText Markup Language) que junto al HTTP (HyperText Transfer Protocol, Protocolo de Transferencia de HiperTexto) fueron la base para poder usarlos.W3C

 La segunda, alguien que pusiera orden en el caos que se podría producir si cada creador de un navegador, usara su propio “dialecto” del HTML. Los encargados de esto, han sido las personas del W3C (World Wide Web Consortium). Crearon las normas para que la interpretación de los navegadores y la creación de páginas web, fueran lo más homogéneas posible.

 Podemos imaginarnos los problemas que podríamos tener si hubiese que ir convirtiendo un lenguaje a otro al no haber establecido unas normas básicas. A pesar que las normas estén establecidas como una guía, no como una ley. Es por ello que muchas veces veremos que hay partes de páginas o cosas concretas en la web, que no se ajustan a la norma.fuente pagina web

 Un ejemplo de que veríamos si abrimos en formato de texto, lo que hay en una página web lo más básica posible, es:

<html>

<head>

</head>

<body>

Cuerpo de la página.

</body>

</html>

html5 Lo cual nos muestra una serie de marcas incluidas entre los caracteres “<>” que nos indican su comienzo <…> y su final </…> para saber que todo lo que se incluye entre estas dos marcas, pertenece a lo que establece la marca (head=cabecera, body=cuerpo, etc).

 La necesidad de nuevos elementos y funcionalidades en las paginas, ha hecho que el HTML evolucione hasta convertirse en el HTML5 (HTML versión 5), del cual ya comentaré cosas más adelante.