James en su faceta de diseñador web pomposo...

Una página web es, antes que nada, un documento. Es un marco para exponer todo tipo de información. De esto se deduce, que la página web mas estándar y simplista que podemos hacer es presentar un texto sin formato. Esto nos garantizaría una compatibilidad entre plataformas del 100%. Aunque estaría bien que incluyeran, al menos, enlaces a otras páginas, pues para esto se hizo.

Las paginas webs, y la WWW, siguen un esquema par de cliente/servidor. Las páginas son publicadas en los servidores, y los clientes acceden a ellas, para visualizarlas. Para ello, el servidor necesita un programa llamado genéricamente 'servidor web'. El mas extendido hoy día es Apache. Este es un programa que se encarga de ofertar conexión de tipo HTTP a través del puerto estándar 80. En el otro lado de la conexión, se encuentra el cliente, que también necesita un software especial, llamado genéricamente 'navegador' (browser en ingles).El segundo mas extendido y mi favorito es Firefox. Este software automatiza el proceso de: entrada de URL, conversión a dirección ip, envío de ordenes HTTP al servidor (principalmente 'GETs') y por ultimo, renderizado de la información. Esto es, por supuesto, las funciones más básicas. Los navegadores modernos incluyen muchísimas más funciones, opciones y automatizaciones. Veamos todo esto en más detalle:

Las URLs


En cualquier red, cada maquina necesita tener un ID (identificativo) para poder comunicarse con otras. Igual que en el mundo real nosotros usamos nombres para referirnos a las personas, las maquinas también tienen nombre. En Internet, que es el marco mas grande y que lo engloba todo, las maquinas tienen una dirección de tipo IP, con el formato 'a.b.c.d' donde cada letra puede tener un valor comprendido entre el 1 y el 254. ( El 0 esta restringido, significa la red misma, y el 255 también esta restringido a envío de tipo broadcast).

Bien, en la WWW las direcciones no usan números, pues esto es mas fácil recordar para una máquina que para un humano. Por esto se inventaron las URLs, que son direcciones de texto, fáciles de recordar para nosotros. Ej: www.cincinato.org, www.google.com, www.mir.es. Estas direcciones, han de transformarse en algún punto de la cadena, esto se hace en los servidores DNS, que son grandes maquinas con tablas de conversión entre direcciones URL y direcciones IP.

Ejemplo: Si en la barra de direcciones de nuestro navegador, en lugar de www.google.com ponemos http://216.239.57.99/ estaremos apuntando nuestro navegador al mismo lugar, y en consecuencia cargaremos la misma pagina.

El HTTP


Este protocolo estándar y abierto, fue dise�ado por el World Wide Web Consortium y parte de la Internet Engineering Task Force. Este protocolo, es el usado entre un cliente web y un servidor web para comunicarse. No esta orientado a conexión, lo que significa que una vez transmitido un paquete y su respuesta, la conexión se cierra. Esto lo hace ideal para un entorno como la WWW, donde unas paginas enlazan a otras, siendo un entorno muy dinámico.

Este protocolo no es ajeno a nosotros, todos los navegantes de la web, en algún momento u otro (es muy probable y triste que seguramente haya sido más pronto que tarde) se habrán encontrado con un error 404 en su navegador. Este es uno de los códigos de estatus mas conocidos del http, aunque la lista es extensa.

Los códigos


Las páginas webs tienen 2 puntos de vista. Por un lado esta el código, y por otro esta la renderización o maquetación. Normalmente los usuarios solo ven la página ya renderizada en su navegador, pero antes de que éste la viera, alguien programo el código. Existen herramientas hoy día que automatizan el proceso, y de este modo tanto el que crea la página como el que la visita, ven solo la forma renderizada. Estas herramientas, tienen ventajas e inconvenientes, y tienen dedicada una sección aparte.

La página en sí, es tan solo un archivo de texto, con extensión .html, lo que quiere decir que podemos abrirlo con un editor de texto. (Mejor si es un editor de texto plano). Y así veremos el código de la página. Éste código esta escrito principalmente en HTML, la 4.0 es la ultima versión. Actualmente, algunas instituciones de las mencionada anteriormente están promoviendo la implantación del nuevo estándar XHTML. Existen varias versiones: XHTML 1.0 Strict, XHTML 1.0 Transitional, XHTML 1.0 Frameset, XHTML 1.1. El World Wide Web Consortium recomendó su uso el 26 de Enero del a�o 2000.

Este código HTML/XHTML es tan sólo el marco de la página, es decir, en el se describe las propiedades más básicas de la página, pero dado la forma modular de estas, hay muchos otros objetos que se encuentran archivos aparte, que pueden estar en la otra punta del planeta, y ser enlazados en tiempo real delante de sus ojos mientras renderiza una web. Esto es: que el resto de elementos que las web suelen tener (imágenes, sonidos, juegos/programas incrustados, efectos javascript, hojas de estilos, etc.) son referenciados en el código de la página, pero no forman parte de ella. Es el trabajo del navegador, establecer nuevas conexiones con los servidores pertinentes para "traerse" el resto de objetos, y así poder presentar la página web completa a los ojos del usuario final.

Por ejemplo, el código que sigue:






se vería renderizado en un navegador como:



Los códigos que forman las páginas, contienen tanto el contenido textual, como la forma de visualizarse. Hace unos a�os, todo esto se empaquetaba junto en un mismo archivo .html, pero hoy día se esta extendiendo la separación entre el contenido y la forma, gracias a la tecnología CSS.



Usted puede ver el código de cualquier página que visite directamente desde su navegador. La mayoría incluye un menú 'Ver' y una opción 'Código fuente', o opciones muy similares. Con esto podrá ver los códigos de cualquier página y si esta interesado, aprender mucho acerca de ellos.

Hospedaje


Si usted pretende ser un Webmaster o dise�ador web, además de programar las páginas de su sitio, deberá hospedarlas en algún servidor web. Para ello tiene 3 opciones a grandes rasgos:

» Instalar y mantener usted mismo su servidor web. Esta opción es completamente desaconsejada, pues si bien le da a usted todo el poder sobre el servidor, la conexión y los contenidos, es la mas compleja técnicamente hablando, y además el gasto de dinero y sobre todo de tiempo es considerable. Un servidor web serio debería alojarse en una máquina dedicada, y tener una conexión también dedicada. Esto, es un gasto considerable. Compartir la maquina o la conexión con otras tareas domésticas no es, en principio, una opción favorable. (A no ser que usted sea un experto en la materia, en cuyo caso puede cortar y quemar este párrafo).

» Registrarse en alguno de los muchos sitios que ofertan alojamiento gratuito de páginas. Tienen como gran ventaja que son gratuitas, pero poseen numerosas desventajas. Entre las más importantes, poco espacio para alojar páginas y archivos asociados, una política de contenidos muy estricta, un ancho de banda limitado, y en algunos casos un sistema de subida de archivos muy rudimentario, con una interfaz lenta. Si esta programando su primera página, tal vez le interese esta opción, pues en un principio tendrá suficiente con lo que le ofertan estos sitios. Pero si continua dise�ando y adquiere cierto nivel, probablemente le gustara incluir opciones, dise�os y contenidos tales que harán que esta opción se le quede peque�a.

» Contratar un servicio de hospedaje de pago. Esto es el cielo del hospedaje web. Técnicamente hablando, es la mejor opción posible. Suelen ofrecer mucho espacio, y un ancho de banda considerablemente grande. Además en la mayoría de los casos la subida de archivos se realiza mediante FTP, lo cual acelera el proceso muchísimo, pudiendo utilizar nosotros el cliente que deseemos y así automatizar procesos. (Algunos ofrecen una conexión segura para el cifrado de claves, esto es mas que recomendable hoy día). También incluyen muchos extras, como numerosas cuentas de correo. Los servicios de pago, además ofrecen la posibilidad de ampliar las características del contrato, esto es, suelen ofertar distintos paquetes, desde el paquete básico, hasta el paquete de lujo. Esto hace posible que empecemos contratando el paquete básico, y ampliar nuestro contrato según nuestras necesidades futuras.

Los dominios


Hay que distinguir entre el hospedaje web y el dominio web. El dominio es la dirección de su página. Si usted tiene una en alguno de los servidores gratuitos, probablemente su dirección será una ruta dentro de un servidor. Algo como http://www.elservidorgratuito.com/es/paginas/perico_el_de_los_palotes/ lo que no resulta muy cómodo ni práctico de memorizar. Las direcciones que usan otros sitios mas bonitas y fáciles de memorizar, como google.com o cincinato.org son dominios.

Los dominios los gestiona una empresa privada norteamericana llamada ICANN, la cual los vende a otras grandes empresas, y así hasta que llega a la empresa de tu país. Aunque se puede comprar directamente a una gran importadora. Los precios en los dominios varían como la noche al día. Puedes comprar uno desde apenas 10 € al a�o, o pagar 30 € al mes. Esto, suponiendo que quieras comprar un dominio que este libre, es decir, que no este siendo usado. Si deseas comprar un dominio que esta en poder de alguien, entonces el precio lo fija el que vende. Se han dado casos de bancos y multinacionales que han pagado millones por recuperar un dominio, tan solo porque alguien lo registró antes que ellos.

Una vez hayas comprado un dominio a alguna empresa, te darán una cuenta y una clave, donde podrás configurar quien te va a gestionar el dominio. Esto es, que máquinas de Internet tiene que responder cuando alguien quiera ir a tu dominio. Ahí es donde ponemos la dirección de nuestra otra empresa de hospedaje web.

Validación


El proceso de validación consiste en analizar el código de un sitio mediante herramientas, para que nos produzcan un informe de los errores sintácticos de este. Existen en el mercado numerosas herramientas y aplicaciones tanto de pago como gratuitas. Pero sin duda el que mas prestigio tiene y el más usado es el propio validador gratuito de la W3C, la organización encargada de las especificaciones de los estándares web. Desde allí podemos validar cualquier página en pocos segundos y ver si cumple con el estándar (y en caso contrario saber qué y dónde).

Esta es uno de los mejores indicadores de la calidad. Una página bien programada siempre se podrá validar sin problemas. Además, una correcta validación nos da muchas más probabilidades de mostrarse correctamente en todo tipo de navegadores o dispositivos Web.



Tecnologías de uso actual en el dise�o web


Si bien Internet tiene ya cierto tiempo, la WWW es relativamente joven, apenas unos 10 a�os. Pero en ese tiempo, las tecnologías que hacen posible que funcione la Web han cambiado mucho. Se ha pasado de unos contenidos estáticos y puramente informativos a unos contenidos dinámicos, donde el dise�o juega un papel de especial relevancia, (sobre todo a nivel empresarial). En la Web moderna, el usuario ha pasado de ser un mero espectador a jugador de primera línea. Hoy día desde la Web podemos comprar, reservar entradas, gestionar nuestro banco, conocer el estado de un envío postal, etc. Todo esto ha sido posible a las siempre cambiantes tecnologías de la Web.

Entre las más importantes se encuentran:



» HTML

Es el lenguaje primigenio de la Web. Se usa para declarar atributos de la página y su contenido. La 4.01 es la ultima revisión.



» XHTML

El futuro de la Web es este. Ya no habrá futuras versiones de HTML, excepto revisiones menores de corrección. La W3 recomienda su uso. Este cambio se ha visto fuertemente influenciado por la aparición de toda una horda de peque�os dispositivos móviles con conexión a Internet. El XHTML es muy estricto en cuanto a la sintaxis, cosa que era muy necesaria en la Web de hoy día, donde se escribe demasiado código malo. Esto fuerza a los dispositivos a ser mas complejos, pues han de interpretar código mal escrito. Esto es poco viable en dispositivos móviles, al contar con unos recursos muy limitados respecto de las máquinas de sobremesa.



» DHTML

Realmente, no es un lenguaje. Es un término que describe las tremendas posibilidades que nacieron de la unión de varias tecnologías. Fue el término que cambió nuestro concepto de la Web, de lo estático a lo dinámico. La interactividad. Se compone de soluciones que mezclan tecnologías como HTML, CSS, y JavaScript con cierto arte, gracia y salero para conseguir las primeras Webs dinámicas. (Hoy día ya no es un termino state-of-the-art).



» SQL

Es un lenguaje estándar ANSI para el acceso y manipulación de bases de datos. En el dise�o web se usa conjuntamente con otras tecnologías para presentar páginas dinámicas personalizadas. Por ejemplo, en cualquier sitio que requiera registrar un usuario, o en un foro, en tiendas online, etc. es necesario extraer e introducir información de una base de datos. En todos estos casos se utiliza este lenguaje.



» CSS

Esta tecnología vino para solucionar un problema de escalabilidad que se presento en la Web. Originalmente, las tags (etiquetas) solo definían lo que un elemento era, no como debía mostrarse. A�os más tarde, se a�adió la tag <font>, lo que empezó a hacer que la línea que separaba contenido de forma se perdiese. Para ello vino la tecnología CSS, que nos permite desarrollar Hojas de Estilo en archivos aparte, y luego importar ese estilo en nuestra web. En estas hojas, se especifica toda la información acerca de como deben mostrarse ciertos objetos. Esto ha hecho posible unos dise�os mucho más limpios, y un nivel de abstracción mucho mas alto. Ahora podemos cambiar toda la apariencia de un sitio con solo cambiar unas pocas líneas en un archivo.



» PHP

Es un lenguaje de script que se ejecuta en el lado del servidor. Es un software libre, de código abierto. Gracias a esta tecnología, se pueden introducir etiquetas en el código de una web, y estas serán reemplazadas por ciertos valores, o incluso mas código, gracias al servidor. Este cambio se realiza en tiempo real y puede ser único para cada usuario de la web. Así es como funcionan muchas webs modernas que necesitan tener un trato personalizado con sus clientes.



» XML

Es un lenguaje para el intercambio y almacenamiento de datos. Esta dise�ado para describir datos, no para representarlos. Su uso ha crecido enormemente desde su aparición. Gracias a esta tecnología, las aplicaciones podrían intercambiar información fácilmente. Se acabarían las incompatibilidades.



» JavaScript

Este lenguaje de script es una piedra angular del dise�o web. Gracias a él se pueden manipular los eventos que produzca el usuario en la página y actuar en consecuencia, cambiando elementos de la misma. Fue la primera tecnología que permitió la interactividad. Si bien hoy día se puede conseguir la misma funcionalidad mediante otras tecnologías, esta posee la enorme ventaja de estar tan implantada que según la W3C en Octubre del 2004 un 90% de los navegadores lo soportaba.



» Java

Es un lenguaje de programación completo. Es decir, que su funcionalidad en el entorno web es una de sus características secundarias. La fuerza de Java en la web se encuentra en la posibilidad de crear applets. Estos pueden definirse como un programa que se descarga y se ejecuta automáticamente dentro del navegador, en un entorno sand-box o de características limitadas. (Más concretamente, se ejecuta en la Java Virtual Machine, que es la que interpreta los byte-codes preprocesados de Java). Existen millones de applets ahí fuera. Una de sus funciones más conocidas, por ser la más lúdica, es la de los juegos. Cada vez que usted vio un peque�o juego incrustado en una web, estaba viendo un applpet funcionando. Como verá, las posibilidades son enormes. Esta tecnología junto con otras, acu�aron el término web-applications, que dio mucho de que hablar hace escasamente un par de a�os.(Si bien algunos lo consideran smoke-ware, o bolsa de humo).