# Historia de la World Wide Web

En esta lección aprenderás:

- la historia de la web
- los estándares que permiten el funcionamiento de la web
- cuadro cronológico de las principales recomendaciones del W3C
- cuadro cronológico de los navegadores más importantes

## Historia de la World Wide Web

La World Wide Web nació cerca de Ginebra (Suiza) en el CERN, el laboratorio europeo de física de partículas. Su principal creador fue Tim Berners-Lee (nacido en Londres en 1955), que propuso en 1989 la creación de un sistema de hipertexto para facilitar el intercambio de información entre los investigadores del CERN. En el verano de 1991, este sistema (servidor y navegador) se puso a disposición de todos los usuarios de Internet. El éxito de la web impulsó la creación en 1994 del W3C (World Wide Web Consortium), organismo formado por empresas y universidades de todo el mundo. Desde octubre de 2003, existe una oficina española del W3C, con sede en Asturias. Entre otras cosas, mantienen una lista de recomendaciones del W3C traducidas al castellano.

El W3C está presidido por Berners-Lee y su objetivo es conducir la web a su pleno desarrollo, asegurando su estabilidad.

Para que la web funcione, se necesitan tres mecanismos:

- la identificación de los recursos disponibles (URI)
- reglas de comunicación entre el servidor y el navegador (HTTP)
- un formato común para los documentos intercambiados (HTML)

El éxito de la web como espacio compartido de información y entretenimiento ha obligado a ir ampliando las capacidades de las páginas web. El W3C ha publicado un gran número de recomendaciones para conseguirlo.

Volver al índice

## Estándares web

### URI (Uniform Resource Identifier = Identificador Uniforme del Recurso)

El URI de un elemento identifica su posición en la web (su "dirección" web). En un principio se utilizó el término URL (Uniform Resource Locator = Localizador Uniforme del Recurso). En diciembre de 1994 la IETF publicó la norma RFC 1738, escrita por Berners-Lee y otros, en la que se detallaban las reglas y características de los URLs. En agosto de 1998 la IETF publicó la norma RFC 2396, escrita por Berners-Lee y otros, en la que ya se adoptó la denominación URI, más general y que engloba direcciones absolutas y relativas.

### HTTP (HyperText Transfer Protocol = Protocolo de Trasnferencia de HiperTexto)

La web, como cualquier otro servicio de Internet, necesita unas reglas definidas de petición y entrega de la información. Las versiones iniciales (de 1991 hasta 1996) de este protocolo no llegaron a ser publicadas como norma. La primera versión "oficial" recibió el nombre de HTTP 1.0 y fue publicada en mayo de 1996 por la IETF como RFC 1945, escrita por Berners-Lee y otros. En enero de 1997 la IETF publicó la norma RFC 2068, escrita por R. Fielding y otros, que definía la versión HTTP 1.1. En junio de 1999, la IETF publicó la norma RFC 2616, escrita por R. Fielding y otros, que actualizaba el protocolo HTTP 1.1.

### HTML (HyperText Markup Language = Lenguaje de Marcas de HiperTexto)

Una página web es un documento de texto con marcas (también llamadas etiquetas). Las marcas permiten modificar la presentación del documento, incluir elementos no contenidos en el texto (por ejemplo, imágenes), crear hiperenlaces, etc. La utilización de marcas se remonta a los años 60 y su formalización culminó en 1986 con la publicación de la norma ISO 8879:1986 (las normas ISO son de pago), que definía el SGML (Standard Generalized Markup Language = Lenguaje de Marcas Generalizado y Normalizado).

Basándose en el SGML, Berners-Lee creó el HTML, definiendo un conjunto de marcas muy reducido que permitiera su utilización en cualquier sistema operativo y la creación de enlaces de hipertexto. El éxito de la World Wide Web en los primeros años 90 hizo necesario la ampliación de las características del HTML, lo que requería nuevas marcas. Este desarrollo fue bastante caótico y no se logró encauzar hasta mediados de los 90, con la creación del W3C (World Wide Web).

En noviembre de 1995 la IETF publicó la norma RFC 1866, escrita por Berners Lee y D. Connolly, que define la versión HTML 2.0. Esta versión recapitulaba el estado del HTML de 1994 y recibió el nombre de HTML 2.0 para distinguirla de los HTML anteriores, que nunca recibieron nombre oficial. LA IETF dejó de trabajar en este campo en 1996, aunque en en junio de 2000 publicó la norma RFC 2854, que definía el tipo MIME (Multipurpose Internet Mail Extension) text/html y anulaba los RFC anteriores relativos al HTML.

El W3C publicó en enero de 1997 la recomendación HTML 3.2, escrita por Dave Raggett. Esta versión incorporó muchas estructuras nuevas al HTML (tablas, imágenes flotantes, applets, hojas de estilo). En abril de 1998 se publicó la recomendación HTML 4.0, editada por Dave Raggett y otros. Los cambios más importantes fueron la incorporación de los frames y la mayor relevancia de las hojas de estilo. En diciembre de 1999, se publicó la recomendación HTML 4.01, editada por Dave Raggett y otros, que modificaba ligeramente la versión antrior.

Con estas recomendaciones, uno de los objetivos del W3C había sido profundizar la separación entre contenido y su presentación, es decir, eliminar del HTML las etiquetas que hicieran referencia directa al formato visual (y almacenar esta información en una hoja de estilo). Pero al mismo tiempo, el W3C tuvo que aumentar el número de etiquetas para dar respuesta a las demandas de los usuarios, cada vez más diferentes. Pero como estas demandas son inagotables, el W3C tomó un camino diferente: el XML.

XML (eXtensible Markup Language = lenguaje de Marcas Extensible) no es un nuevo lenguaje de marcas, sino las reglas para poder crear nuevos lenguajes de marcas compatibles entre sí. La recomendación XML 1.0, editada por Tim Bray y otros, se publicó en febrero de 1998. La segunda edición y tercera edición de esta recomendación se publicaron en octubre de 2000 y febrero de 2004, ambas editadas por Tim Bray y otros. En febrero de 2004 se ha publicado la recomendación XML 1.1, editada por Tim Bray y otros, que modifica el concepto de documento bien-formado y se adapta a las modificaciones ocurridas en el juego de caracteres Unicode.

Lógicamente, el siguiente paso fue adaptar el HTML a las exigencias del XML. El resultado se publicó en enero de 2000: la recomendación XHTML 1.0 (Extensible HyperText Markup Language = Lenguaje de Marcas de HiperTexto Extensible), de la que en agosto de 2002 se publicó la segunda edición. En realidad, XHTML 1.0 no es más que el HTML 4.01 adaptado a las normas (más formalizadas) del XML 1.0.

Tanto en HTML 4.01 como en XHTML 1.0, se definen tres tipos de documentos: Strict (esctricto), Frameset (con marcos) y Transitional (de transcición). El tipo Transitional intenta parecerse a las versiones anteriores de HTML, manteniendo el mayor número posible de etiquetas. El tipo Frameset es como el Transitional, salvo en que incluye la posibilidad de crear marcos (frames). El tipo Strict elimina las etiquetas directamente relacionadas con el aspecto visual (como font, s o u).

Actualmente, el W3C está preparando la recomendación XHTML 2.0, que todavía tardará años en aprobarse.

Falta hablar de XHTML 1.1, de la modularización, de ruby, de perfiles xhtml+mathml+svg, etc

## CSS (Cascading Style Sheets = Hojas de estilo en cascada)

Las hojas de estilo es el mecanismo elegido por el W3C para separar la presentación de una página web de su contenido. En las primeras versiones del html, el aspecto visual (tipos de letras, colores, etc) se incorporaba en la propia página web. Trabajando con hojas de estilo, la página web (el fichero .html) no contiene información sobre la forma de representar la página, sino que esa información se encuentra en la hoja de estilo (el fichero .css). Las ventajas son evidentes: se asegura la uniformidad del diseño (ya que varias páginas pueden utilizar la misma hoja de estilo) y se facilita su modificación (ya que sólo hay que cambiar el diseño en la hoja de estilo). Se denominan Hojas de Estilo en Cascada, porque la información de estilo se puede situar en varios lugares (hoja de estilo externa, hoja de estilo incluida en la página web o estilos incluidos en las etiquetas de la página web) y se aplican de forma jerárquica.

En diciembre de 1996 se aprobó la recomendación CSS nivel 1, escrita por Håkon Wium Lie y Bert Bos. En enero de 1999, se aprobó una versión revisada, CSS nivel 1 revisada, escrita por Håkon Wium Lie y Bert Bos, que básicamente corregía erratas y errores menores. En mayo de 1998 se aprobó la recomendación CSS nivel 2, editada por Bert Bos y otros, que manteniendo la compatibilidad con las hojas de estilo de nivel 1, incluía nuevas características (posicionamiento, estilos de tablas) y permitía la utilización de hojas de estilo adaptadas al medio de presentación (visual, oral, impreso, etc). En febrero de 2004 se aprobó la recomendación CSS 2.1, editada por Bert Bos. Esta recomendación es una "puesta al día" de la recomendación CSS nivel 2, corrigiendo erratas, eliminando aspectos que los navegadores no han incluido en los últimos años y añadiendo aspectos que sí han incorporado los navegadores.

Actualmente, el W3C está preparando las recomendaciones CSS 3. En vez de elaborar una única recomendación como en las versiones anteriores, las diferentes partes se han separado en recomendaciones distintas, que por el momento se encuentran todas en elaboración. Con esta decisión se intenta que en el futuro sea más fácil actualizar las recomendaciones.

## HTML dinámico

Completar

## XML

Completar

## Otros lenguajes de marcas

Además del XHTML, el W3C ha publicado otros lenguajes de marcas, dirigidos a dominios específicos, como por ejemplo:

- MathML (Lenguaje de Marcas Matemático)
- SVG (Scalable Vector Graphics = Gráficos Vectoriales Escalables)

### MathML

En abril de 1998 se aprobó la recomendación MathML 1.0, editada por Patrick Ion y Robert Miner. En julio de 1999 se aprobó la recomendación MathML 1.01, editada por Patrick Ion y Robert Miner, que básicamente corrige errores de la primera versión. En febrero de 2001 se aprobó la recomendación MathML 2.0, editada por Robert Carlisle y otros, en la que se introdujeron y eliminaron algunos elementos. En octubre de 2003 se aprobó la recomendación MathML 2.0 (2º edición), editada por Robert Carlisle y otros, en la que se introdujeron y eliminaron algunos elementos.

Completar

### SVG (Scalable Vector Graphics = Gráficos Vectoriales Escalables)

En septiembre de 2001 se aprobó la recomendación SVG 1.0, editada por Jon Ferraiolo. En enero de 2003 se aprobó la recomendación SVG 1.1, editada por Dean Jackson.

Actualmente, el W3C está preparando la recomendación SVG 1.2.

Completar

## El futuro: la Web semántica

Completar

Volver al índice

## Cuadro cronológico de recomendaciones

La tabla siguiente indica las fechas de publicación de las recomendaciones del W3C o de ECMAScript (JavaScript):

Año | (X)HTML | CSS | DOM | Otros ML | XML | ECMAScript
--- | --- | --- | --- | --- | --- | ---
2004 |  | Feb: CSS 2.1 | Abr: DOM 3 (core) | Sep: SSML 1.0 Mar: VoiceXML 2.0 | Feb: XML 1.1 Feb: XML 1.0 (3º ed) | Jun: ECMAScript para XML
2003 |  |  | Ene: DOM 2 (HTML) | Oct: XForms 1.0 Oct: MathML 2.0 (2º ed) Ene: SVG 1.1 |  |
2002 | Ago: XHTML 1.0 (2º ed) |  |  |  |  |
2001 | May: XHTML 1.1 Abril: Modularización XHTML |  |  | Sep:SVG 1.0 Feb: MathML 2.0 |  |
2000 | Dic: XHTML Basic Ene: XHTML 1.0 |  | Nov: DOM 2 (core, etc) Sep: DOM 1 (2º ed) |  | Oct: XML 1.0 (2º ed) |
1999 | Dic: HTML 4.01 | Ene: CSS 1 (revisión) |  | Jul: MathML 1.01 |  | Dic: 3º edición
1998 | Abr: HTML 4.0 (revisión) | May: CSS 2 | Oct: DOM 1 | Abr: MathML 1.0 | Feb: XML 1.0 | Ago: 2º edición
1997 | Dic: HTML 4.0 Ene: HTML 3.2 |  |  |  |  | Jun: 1º edición
1996 |  | Dic: CSS 1 |  |  |  |
1995 | Nov: HTML 2.0 |  |  |  |  |

Volver al índice

## Navegadores

La tabla siguiente indica las fechas de publicación de las versiones para Windows de los navegadores más importantes.

Año | Mosaic | Netscape | Internet Explorer | Opera | Mozilla / Firefox
--- | --- | --- | --- | --- | ---
2004 |  | Ago: NS 7.2 |  | May: Op 7.50 | Nov: Firefox 1.0 Jun: Moz 1.7 En: Moz 1.6
2003 |  | Jun: NS 7.1 |  | Oct: Op 7.21 Ene: Op 7.0 | Oct: Moz 1.5 Jun: Moz 1.4 Mar: Moz 1.3
2002 |  | Ago: NS 7.0 | Sep: IE 6.0 SP1 |  | Dic: Moz 1.2 Ago: Moz 1.1 Jun: Moz 1.0
2001 |  | Oct: NS 6.2 | Oct: IE 6.0 | Nov: Op 6.0 | Dic: Moz 0.9.7
2000 |  | Nov: NS 6.0 | Jul: IE 5.5 | Dic: Op 5.0 Jun: Op 4.0 | Dic: Moz 0.6
1999 |  | Sep: NS 4.7 | Mar: IE 5.0 |  | Dic: Moz M12 Mar: Moz M3
1998 |  | Oct: NS 4.5 |  | Nov: Op 3.5 |
1997 | Ene: Mos 3.0 | Jun: NS 4.0 | Nov: IE 4.01 Oct: IE 4.0 | Dic: Op 3.0 |
1996 |  | Ago: NS 3.0 Mar: NS 2.0 | Nov: IE 3.01 Ago: IE 3.0 | Dic: Op 2.1 |
1995 | Oct: Mos 2.0 | Jul: NS 1.2 Abr: NS 1.1 | Nov: IE 2.0 Ago: IE 1.0 |  |
1994 |  | Dic: NS 1.0 |  |  |
1993 | Nov: Mos 1.0 |  |  |  |

Notas:

- Mosaic dejó de desarrollarse en 1997
- Netscape dejó de desarrollarse oficialmente en 2003, aunque en 2004 apareció una nueva versión. Desde la versión 6.0, Netscape ha estado basado en Mozilla
- En la tabla no aparecen la fecha de publicación de las actualizaciones de las versiones, que en el caso de Internet Explorer son numerosas. Tan sólo se incluye la última, IE 6.0 SP1. En mayo de 2003 Microsoft anunció que las futuras versiones de IE vendrían incluidas en las futuras versiones de Windows, pero no podrían instalarse de forma independiente (se admiten apuestas ;-)
- No se incluyen todas las versiones de Mozilla anteriores a Mozilla 1.0, sino únicamente la primera versión publicada (Mozilla M3) y la última de cada año.

Volver al índice