1. Estándares y extensiones del lenguaje HTML

El lenguaje HTML empezó a usarse a gran escala a partir de 1990 cuando Tim Berners Lee, mientras trabajaba en el laboratorio Europeo de Física de Partículas (CERN) en Suiza (ver figura 7.2) desarrolló un novedoso sistema de distribución de información basado en páginas independientes, llamadas páginas web (web pages) o simplemente webs, con posibilidad de hipertexto. Era el nacimiento del World Wide web (de ahora en adelante WWW), que podría traducirse como la telaraña mundial.

Figura 7.2. En el CERN (http://www.cern.ch/), un instituto de física con poca relación con Internet, se engendró la idea del World Wide Web.

A partir de entonces el WWW no ha parado de crecer y lo que empezó como un pequeño proyecto se convirtió en un sistema usado en todo el mundo a través de la red Internet. En 1995 el WWW se convirtió en el servicio de esta red más utilizado por sus usuarios por delante incluso del e-mail o el FTP (sistema usado para transporte de ficheros).

HTML era el lenguaje usado para crear las páginas individuales que formaban esa telaraña mundial. Este era un lenguaje muy sencillo que permitía incluir texto, encabezados, imágenes, formularios simples y muy poco más. Debido a la gran expansión del WWW el HTML empezó a ser usado ampliamente y diversas empresas se dieron cuenta del potencial que representaba y empezaron a comercializar programas, posteriormente llamados navegadores, exploradores o browsers, capaces de encontrar páginas de esta telaraña en Internet e interpretar el código HTML para presentar la información de las páginas.

Pero entonces surgió el desorden. Cada una de las empresas u organismos que elaboraban los navegadores proponía su propia interpretación del lenguaje y programaba sus aplicaciones para que fuesen fieles a esa interpretación. Esto causaba verdaderos quebraderos de cabeza a los programadores de webs ya que si preparaba su página para que funcionase con un navegador no funcionaba con otro o las diferencias eran más importantes de lo se puede considerar como aceptable.

1.1. El estándar HTML 2.0

Para solucionar este desorden se creó un organismo, el World Wide Web Consortium (de ahora en adelante W3C), que se encargaría de estandarizar todos los temas relacionados con el WWW y por supuesto el lenguaje HTML entraba en sus objetivos. En la figura 7.3 podemos ver la página de esta organización.

Figura 7.3. El World Wide Web Consortium, o W3C, fue creado para regular el World Wide Web. Esta regulación incluye una estandarización del lenguaje HTML.

El primer estándar serio que vio la luz fue el HTML 2.0. Este estándar pretendía contentar a todos los navegadores existentes y en un principio lo consiguió. De hecho podemos considerar que todos los navegadores existentes actualmente soportan este estándar, por lo tanto cualquier página escrita usando código HTML 2.0 podrá ser visualizado en cualquiera de ellos. Este estándar incluía:

Y muy poco más. Pronto se demostró que este estándar era insuficiente, y muy pronto las principales empresas que habían creado navegadores, como Netscape Navigator y más tarde Internet explorer. Empezaron a inventarse nuevas etiquetas HTML que, por supuesto, sólo serían válidas si se usaba su navegador. A estas nuevas etiquetas se las llamó extensiones y entre las más importantes destacan las tablas, frames, imágenes de fondo, etc. El desorden surgió de nuevo.

1.2. El estándar HTML 3.2

El W3C se apresuró en publicar un nuevo estándar, HTML 3.0, que incluía algunas de las extensiones de mayor éxito. Sin embargo este estándar era excesivamente diferente a HTML 2.0. Introducía muchas etiquetas nuevas, y algunas de dudosa utilidad. Por esta razón el propio Web Consortium aconsejó que dejase de usarse. Poco tiempo después apareció una revisión de este estándar el HTML 3.2 que es el que rige actualmente. En este estándar se incluyeron:

Sin embargo no todas las extensiones que habían creado los fabricantes de navegadores fueron introducidas en el estándar. Algunas de ellas muy extendidas, como por ejemplo los frames (explicados más adelante) se dejaron fuera, con lo que no se consiguió satisfacer a todo el mundo. Además, Microsoft ya había entrado de lleno en el mundo Internet con su navegador Internet Explorer, lo que propició una explosión de extensiones. Hoy en día los programadores de páginas web deben tener en cuenta no sólo el lenguaje HTML estándar sino las etiquetas y atributos que van incluyendo Microsoft y Netscape. Ambas compañías crearon páginas con información sobre cómo hacer páginas web aprovechando todas las características de sus navegadores, al margen de los estándares. La figura 7.4 muestra estas páginas tal y como se presentaban hace algunos años.

Figura 7.4. Tanto Microsoft como Netscape crearon sitios web especialmente dedicados a programadores de Internet en el que informan de las tecnologías propietarias soportadas por sus navegadores.

1.3. HTML 4.0 y XHTML

Dado el gran incremento de incompatibilidades entre los diferentes navegadores, el W3C hizo un gran esfuerzo para reunir a las principales compañías y crear un nuevo estándar que todas se comprometían a cumplir: HTML 4.0. Este estándar incluye muchas novedades, algunas muy usadas como los frames.

HTML 4.0 es tremendamente completo y hay pocas excusas para crear páginas web que usen extensiones. Parece que los creadores de navegadores han empezado a dar una mayor importancia al soporte de estándares, lo que permite crear páginas web HTML que se vean correctamente por todo el mundo. En particular es destacable el esfuerzo del proyecto Mozilla (http://mozilla.org/), que ha tomado las riendas del desarrollo del navegador Netscape Navigator como software libre. En este proyecto han demostrado un fuerte compromiso por el soporte de los estándares y el abandono de las extensiones propietarias.

En la figura 7.5 podemos ver el comienzo del documento que define este estándar así como la dirección donde podemos encontrarlo:

Figura 7.5. En el servidor web del W3C podemos ver la especificación del nuevo estándar HTML 4.0. La dirección concreta es: http://www.w3c/TR/PR-html40/

Desde hace ya algún tiempo todos los navegadores soportan el estándar HTML 4.0: Internet Explorer, Netscape Navigator, Mozilla, Konqueror, Opera, etc. Su uso será una garantía de compatibilidad para nuestros sitios webs.

Atención

Si bien es cierto que usando únicamente etiquetas de HTML 4.0 conseguimos crear páginas que se vean en cualquier navegador han aparecido otras tecnologías como CSS, JavaScript, Applets Java, Flash, etc cuyo soporte varía mucho de unos navegadores a otros. Estas tecnologías no serán tratadas en este curso, pero si queremos advertir de la importancia de que sean usadas de forma que no se obligue al visitante a tener un navegador concreto.

¿Y qué es exáctamente XHTML? Pues es una variante de HTML que tiene las mismas etiquetas que HTML 4.0 (en concreto es idéntica a la revisión HTML 4.0.1), pero con una serie de restricciones de sintaxis para ser compatible con XML. Para un navegador no hay diferencias entre usar HTML o XHTML, pero este último puede ser útil para poder emplear herramientas de tratamiento de XML al crear una página web. Las principales normas que debemos cumplir para que una página HTML sea compatible con XHTML (y por tanto compatible con XML) son:

1.4. El futuro de HTML

El lenguaje HTML seguirá evolucionando y continuará siendo, con toda probabilidad, la base de las páginas web. Conocerlo será imprescindible para poder aprovechar todas sus ventajas. Por ello seguirá usándose directamente para crear páginas web muy cuidadas mientras que en otros casos será ocultado por herramientas que permitan crear páginas al estilo de un procesador de texto. Además de esto seguirán adquiriendo mayor y mayor importancia nuevas tecnologías que añaden nuevas características a las páginas web como dinamismo o interacción con el usuario.

Entre estas tecnologías nos encontramos con los ya habituales lenguajes de Script (JavaScript y VBScript). Estos son lenguajes de programación que se insertan en las páginas web junto con el código HTML y que nos permitirá aumentar la interactividad con el visitante respondiendo a algunas de sus acciones como pulsar un botón, pasar con el ratón por encima de una imagen, etc.

Por supuesto también hemos de mencionar las hojas de estilo que facilitan el mantenimiento de la apariencia en las páginas web además de darnos más potencia.

La suma de HTML con los lenguajes de script y las hojas de estilo ha sido denominado HTML dinámico. Desgraciadamente este ha sido el comienzo de una nueva serie de características incompatibles entre navegadores. En particular es habitual encontrar páginas que sólo pueden verse correctamente en el navegador dominante en la actualidad: Internet Explorer. Esperemos que entre todos los creadores de páginas web podamos presionar para que se tienda a una mayor compatibilidad entre navegadores. Mientras tanto tendremos que tener cuidado en hacer páginas que puedan verse en todos ellos.

1.5. Conclusiones

Bien, ya sabemos todo lo que necesitamos saber sobre la historia del lenguaje HTML, sus estándares y las extensiones de los distintos navegadores. Es probable que el lector se haga dos preguntas en este momento ¿a qué estándar pertenecen las etiquetas vistas hasta ahora? y ¿Cuáles puedo usar libremente?. Todas las etiquetas vistas hasta ahora pertenecen en su mayor parte al estándar HTML 2.0. De hecho siempre que no hemos hecho mención explícita de que cierta etiqueta o atributo era nuevo pertenecían a esta versión. También hemos visto gran parte de las etiquetas del estándar HTML 3.2, en general las más importantes y de mayor uso. En ocasiones hemos dicho explícitamente que esta o aquella etiqueta pertenecían al HTML 3.2, ahora sabemos que sentido tenía remarcarlo.

¿Porqué lo hemos hecho así? Uno de los objetivos que nos planteamos desde el principio fue que nuestras páginas pudiesen ser vistas por todo el mundo, de esta manera podríamos llegar a la mayor cantidad de público posible. Con esta finalidad hemos aprendido a usar etiquetas que pueden ser vistas por casi todo el mundo. Las etiquetas de HTML 2.0 pueden ser vistas por todo el mundo mientras que las etiquetas del lenguaje HTML 3.2 vistas hasta ahora están muy extendidas y causan problemas al ser vistas con navegadores antiguos. En definitiva, todas las etiquetas que ya conocemos pueden ser usadas con gran libertad con la garantía de no estar limitando que nuestras páginas puedan ser vistas únicamente por los usuarios de las últimas versiones de Navigator o Explorer. Si tenemos mayores requerimientos y queremos estar seguros de que nadie tendrá problemas al ver nuestras páginas debemos considerar algunos aspectos más.

El W3C ha puesto un servicio público que permite ver si una determinada página cumple los estándares o no. Está disponible en http://validator.w3.org/

También hay un programa, llamado Tidy que permite hacer la validación en un archivo local, sin tener que publicarlo en Internet. Este programa es software libre y está disponible en http://tidy.sourceforge.net/.

1.5.1. ¿Qué etiquetas debo usar y cómo?

Podemos asumir que todas las etiquetas del estándar HTML 4.0 son entendidas por cualquier navegador. Eso sí debemos tener en cuenta que el uso de frames o tablas complicadas puede dificultar su interpretación correcta en navegadores de texto o hablados (como los usados por personas ciegas o en coches).

Si optamos por emplear una extensión hay que ser consciente de qué navegadores lo soportan y cómo afectará a los usuarios de el resto. Teniendo esto en cuenta hay que considerar:

  • Si los usuarios a los que va dirigido el web poseen alguno de dichos navegadores.

  • Que perjuicios tendrán aquellos usuarios que no lo tengan. Por ejemplo, nunca debemos incluir información vital usando una extensión si existe el riesgo de que cierto tipo de usuarios con navegadores antiguos no puedan acceder a ella. Es decir, la información muy importante debe ser incluida con etiquetas de HTML 2.0 para que todo el mundo pueda verla.

Si usamos con cuidado las extensiones, podemos evitar que causen mucho perjuicio a los usuarios que usen navegadores que no las soporten, y los usuarios que si que tengan los navegadores adecuados saldrán beneficiados. Para conseguir esto es necesario conocer bien estas extensiones y el comportamiento de un navegador cuando se encuentra con alguna etiqueta o atributo que no soporta (que no entiende). Esto último no es difícil de entender: si un navegador se encuentra con una etiqueta que no conoce simplemente la ignora y lo mismo ocurre con los atributos.

1.5.2. ¿Qué queda por aprender?

En este mismo capítulo veremos las etiquetas del estándar HTML 3.2 que todavía nos queda por ver a excepción de los formularios que serán vistos próximamente. En los siguientes capítulos aprenderemos a usar las extensiones de Microsoft Explorer y Netscape Navigator para aprovechar las últimas capacidades de estos navegadores pero sin causar problemas a los usuarios de los navegadores más antiguos o navegadores en modo texto. Según vayamos estudiando estas nuevas etiquetas aprenderemos también a usarlas adecuadamente. Un buen ejemplo de una de las más importantes extensiones del lenguaje HTML, los frames, es la página web de la figura 7.6:

Figura 7.6. En esta figura vemos un excelente uso de los frames o marcos, que dividen la pantalla en cuatro partes para facilitar la navegación.

En ella podemos ver como adelanto al capítulo posterior en el que trataremos esta extensión a fondo, que los frames sirven para dividir la pantalla en varios marcos con una página diferente en cada una. En este caso se ha dividido la pantalla en cuatro marcos.

En los capítulos que seguirán trataremos las técnicas para incluir contenido dinámico en nuestras páginas, incluido el nuevo lenguaje HTML Dinámico que constituye por sí sólo una nueva revolución en el World Wide Web.

En definitiva nos queda por estudiar las etiquetas más novedosas del lenguaje HTML y otros acompañantes que nos ayudarán en la programación de páginas web y nos permitirán crear efectos realmente impactantes y sorprendentes. Empecemos con ello sin perder más tiempo.