# Historia de la World Wide Web

En esta lección aprenderás:

Cosas que faltan: faltan varias actividades del W3C y sus recomendaciones correspondientes (accesibilidad, Web services, WebCGM, etc., consultar actividades 1 y actividades 2) y otros temas no directamente tratados por el W3C como microformatos, buscadores, Flash / Apollo, Silverlight, etc

## 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. El W3C se organiza en grupos de trabajo, en los que las empresas y organismos interesados desarrollan por consenso especificaciones que, una vez publicadas, reciben el nombre de recomendaciones.

El W3C está presidido por Berners-Lee y su objetivo es conducir la web a su pleno desarrollo, asegurando su estabilidad. El éxito de la web como espacio compartido de información y entretenimiento ha hecho necesario ir ampliando las capacidades de la web. Para conseguirlo, el W3C ha publicado un gran número de recomendaciones, que pueden consultarse en la web.

Pese al extraordinario desarrollo y utilización de la web, su breve historia está llena de crisis, pasos atrás y conflictos enquistados. Los usuarios de la web están interesados en que existan unas normas comunes que permitan la interoperabilidad y la competencia, pero las empresas que dominan un mercado suelen preferir que no existan normas comunes para que sus productos se conviertan en la norma "de facto" y asegurar su dominio.

El W3C tiene sedes en varios países. 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 no es el único organismo que juega un papel en el desarrollo de la web. La IETF (Internet Engineering Task Force) se ocupa desde 1986 del desarrollo de la arquitectura de Internet y publica las normas (que por razones históricas reciben el nombre de Request For Comments) que definen los protocolos empleados en Internet. La IANA (Internet Assigned Numbers Authority) se ocupa desde 1972 de la asignación de direcciones a cada ordenador conectado a Internet.

Volver al índice

## Estándares web

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, XML)

Tanto la identificación de los recursos como las reglas de comunicación son aspectos relativamente estables, mientras que el formato de los documentos ha tenido una evolución más compleja y continúa en desarrollo. A continuación se describen los diferentes estándares que conforman la 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. En enero de 2005 la IEFT publicó la norma RFC 3986, escrita por Berners-Lee y otros, que sustituía a la RFC 2396 y que adecuaba las URIs a la internacionalización de los nombres de dominio. En enero de 2005 la IEFT publicó la propuesta de norma RFC 3987, escrita por Martin. Dürst y Michel Suignard, que definía los IRIs (Internationalized Resource Identifiers = Identificadores de Recursos Internacionalizados), permitiendo la utilización de caracteres Unicode.

El Sistema de Nombres de Dominios (DNS) permite convertir los nombres de dominio (escrito con caracteres) en direcciones IP (numéricas). En noviembre de 1983 la IETF publicó las normas RFC 882 y RFC 883, escritas por Paul Mockapetris, en la que se definían el sistema de nombres de dominio y sus protocolos y servidores. En noviembre de 1987 la IETF publicó las normas RFC 1034 y RFC 1035, escritas por Paul Mockapetris, que actualizaban y sustituían las RFC 882 y RFC 883. El sistema DNS sólo permite los caracteres del alfabeto latino, los dígitos de 0 a 9, el punto y el guión (-). En 1986 M. Duerst propuso la internacionalización de los nombres, pero hasta marzo de 2003 no se publicaron las normas RFC 3454, RFC 3490, RFC 3491 y RFC 3492, escritas por Hoffman, Blanchet, Faltstrom y Costello, que definían el sistema IDNA (Nombres de Dominio Internacionalizados para Aplicaciones) para poder interpretar los nombres de dominios con caracteres Unicode. Actualmente (septiembre de 2006), sólo algunos dominios permiten el uso de caracteres no-ASCII (por ejemplo, el dominio .es no los permite todavía, pero sí que existen los dominios www.ñandú.cl o fundació.cat). Actualmente (septiembre de 2006), los navegadores modernos, salvo Internet Explorer 6, admiten nombres de dominio internacionalizados.

### HTTP (HyperText Transfer Protocol = Protocolo de Transferencia 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.

Completar: ¿habría que hablar aquí de SOAP (HTTP para XML)?

### 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 impulsado por las empresas que desarrollaban los navegadores (básicamente Netscape y Microsoft) y fue un desarrollo bastante caótico que 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 anterior.

En HTML 4.01 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 que incluye además la posibilidad de crear marcos (frames). El tipo Strict elimina las etiquetas directamente relacionadas con el aspecto visual (como font, s o u).

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í. En febrero de 1998 se aprobó la recomendación XML 1.0, editada por Tim Bray y otros.

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), editada por Steven Pemberton y otros, de la que en agosto de 2002 se publicó la segunda edición, editada por Steven Pemberton y otros. En realidad, XHTML 1.0 no es más que el HTML 4.01 adaptado a las reglas (más formalizadas) del XML 1.0.

Paralelamente, para abordar el problema de la diversidad de aplicaciones, el W3C aprobó en abril de 2001 la recomendación Modularización del XHTML, editada por Murray Altheim y otros. La idea es dividir el lenguaje en grupos de marcas relacionadas para poder limitar o ampliar el lenguaje, definiendo por ejemplo perfiles xhtml+mathml o xhtm+mathml+svg.

En el camino de la modularización se aprobó en mayo de 2001 la recomendación XHTML 1.1, editada por Murray Altheim y Shane McCarron, que apenas modifica el XHTML 1.0 Strict, pero que se estructura de forma modular. También se han aprobado varias recomendaciones que desarrollan módulos definidos en la recomendación de modularización: en diciembre de 2000 se aprobó la recomendación XHTML Basic, editada por Mark Baker y otros, que definía un XHTML mínimo, en mayo de 2001 se aprobó la recomendación Anotación Ruby, editada por Michel Suignard y otros, que permite utilizar un estilo de escritura utilizado en algunas lenguas asiáticas y en septiembre de 2006 se aprobó la recomendación XHTML Print, editada por Melinda Grant yJim Bigelow, destinada a impresoras de bajo coste y sin memoria.

A partir del año 2002, el grupo de trabajo del W3C dejó de funcionar y aunque formalmente continuaba el desarrollo de la recomendación XHTML 2.0, en la práctica su trabajo se convirtió en irrelevante.

Por desgracia, el paso del HTML al XHTML ha resultado un fracaso, es decir, la mayoría de páginas disponibles actualmente (abril de 2007) en la web no siguen las recomendaciones del W3C y en la práctica los navegadores tratan de la misma manera las páginas válidas y las inválidas. No creo que sea fácil identificar un único responsable de este fracaso, pero es necesario reconocerlo y enfrentarse a él.

Una de las principales causas del fracaso es sin duda el problema de los tipos MIME en Intenet Explorer. Los tipos MIME definen tipos de documentos y son la manera en que el servidor le dice al cliente qué tipo de documento le va a enviar. El tipo MIME de los documentos html es text/html mientras que el tipo MIME de los documentos xhtml es application/xhtml+xml. El problema es que Internet Explorer no admite el tipo application/xhtml+xml y simplemente no muestra los documentos enviados con este tipo MIME. La alternativa es enviar los documentos xhtml como text/html, pero eso genera multitud de problemas. El más importante es que los navegadores no tratan el documento como xhtml sino como html y por tanto el documento parece estar lleno de errores, aunque los navegadores los ignoran y consiguen mostrar la página. Dado que Internet Explorer es el navegador más utilizado, prácticamente nadie envía los documentos xhtml con el tipo MIME application/xhtml+xml y como al enviarlos con el tipo MIME text/html se pierden todas las ventajas del xhtml, la conclusión es automática: no vale la pena usar xhtml. Actualmente (abril de 2007), Microsoft no ha dicho si alguna vez el Internet Explorer admitirá el tipo MIME application/xhtml+xml.

Ante este problema (el W3C había abandonado el desarrollo del HTML en favor del XHTML pero el mercado -por culpa de Microsoft, especialmente- rechazaba el XHTML), en 2004 se creó el WHATWG (Web Hypertext Application Technology Working Group), un grupo de trabajo informal formado por individuos y empresas (Mozilla, Opera, Apple, Google entre ellas) y dedicado al desarrollo del HTML, sobre todo para facilitar el desarrollo de las aplicaciones Web. Este grupo está elaborando las especificaciones Web Applications 1.0, Web Forms 2.0 y Web Controls 1.0, editadas por Ian Hickson, con la intención de que en el futuro se publiquen como recomendaciones del W3C con el nombre de HTML 5.

A finales de 2006, Tim Berners-Lee anunció la creación de un nuevo grupo de trabajo sobre HTML dentro del W3C y la reestructuración de los grupos existentes para reintregar el trabajo del WHATWG. En marzo de 2007 se creó el grupo de trabajo HTML con participación de todos los implicados (incluso de Microsoft, que se mantiene al margen del WHATWG).

Actualmente (abril de 2007) es difícil aventurar los resultados de estos esfuerzos, aunque el futuro de la web como espacio abierto está en juego.

### 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).

Actualmente (septiembre de 2006), el W3C está preparando la recomendación CSS 2.1 y las recomendaciones CSS 3, así como unas versiones reducidas de CCS 2 para teléfonos móviles, televisión e impresoras.

La recomendación CSS 2.1 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. Está previsto que esta recomendación se apruebe en 2006.

Las recomendaciones CSS 3 tienen un enfoque distinto. En vez de elaborar una única recomendación como en las versiones anteriores, las diferentes partes se han separado en recomendaciones distintas (más de 30), para facilitar su actualización. No hay practicamente fechas previstas para la publicación de estas recomendaciones.

### ECMAScript y DOM

ECMAScript (habitualmente denominado JavaScript) es un lenguaje de programación diseñado para ser incluido dentro de las páginas web. Para facilitar el acceso y manipulación de los elementos de las páginas web a cualquier lenguaje de programación (no solamente a ECMAScript), el W3C ha desarrollado un interface denominado DOM (Document Object Model = Modelo de Objeto de Documento).

#### ECMAScript

JavaScript fue creado por Brendan Eich en 1995 para Netscape y su nombre se debe a que se trata de un lenguaje de script con una sintaxis similar a la del lenguaje de programación Java. Netscape delegó en la ECMA (European Computer Manufacturers Association) la normalización del lenguaje. De hecho el nombre correcto del lenguaje es ECMAScript, aunque incorrectamente se le suele llamar todavía JavaScript. JavaScript es en realidad la adaptación de ECMAScript soportada por Netscape, de la misma manera que jscript es la adaptación de ECMAScript soportada por Internet Explorer.

En junio de 1997 ECMA publicó la primera edición de ECMAScript, la norma ECMA-262. En agosto de 1998 se publicó la seguna edición de esta norma y en diciembre de 1999 se publicó la tercera edición. En junio de 2004 se publicó la primera edición de la norma ECMA-357, que añade a ECMAScript su uso en documentos XML.

Netscape ha ido incluyendo varias versiones de JavaScript en sus navegadores. JavaScript 1.0 se incluyó en Netscape 2.0 (marzo de 1996) y era capaz de procesar datos numéricos y modificar el contenido de los formularios. La forma de acceder y manipular los elementos de la página recibió el nombre de DOM level 0 (Document Object Model = Modelo de Objeto de Documento). JavaScript 1.1 se incluyó en Netscape 3.0 (agosto de 1996). JavaScript 1.2 se incluyó en Netscape 4.0 (junio de 1997). JavaScript 1.3 se incluyó en Netscape 4.5 (octubre de 1998). JavaScript 1.4 no fue incluido en ningún navegador, sino en el servidor de Netscape. JavaScript 1.5 se incluyó en Netscape 6.0 (noviembre de 2000). JavaScript 1.6 se incluyó en Firefox 1.5 (noviembre de 2005). JavaScript 1.7 se incluyó en Firefox 2.0 (octubre de 2006).

Microsoft ha ido incluyendo varias versiones de jscript en sus navegadores. jscript 1.0 se incluyó en Internet Explorer 3.0 (agosoto de 1996). jscript 2.0 se incluyó en Internet Explorer 3.02 (enero de 1997). jscript 3.0 se incluyó en Internet Explorer 4.0 (octubre de 1997). jscript 4.0 no se incluyó en ningún navegador. jscript 5.0 se incluyó en Internet Explorer 5.0 (marzo de 1999). jscript 5.5 se incluyó en Internet Explorer 5.5 (julio de 2000). jscript 5.6 se incluyó en Internet Explorer 6.0 (octubre de 2001). Existe un jscript 7.0 (llamado jscript .NET) y un jscript 8.0, pero creo que no se ha incluido en ningún navegador.

Las sucesivas versiones de JavaScript y jscript han ido convergiendo hacia el estándar ECMAScript, aunque no de forma total. Este comportamiento (más acusado en el caso de Microsoft) supone un quebradero de cabeza para los desarrolladores.

#### DOM (Document Object Model = Modelo de Objeto de Documento)

El DOM es un interface que permite a los programas y scripts acceder y modificar dinámicamente el contenido, la estructura y el estilo de los documentos. El documento puede ser procesado posteriormente y el resultado del procesamiento se puede actualizar en el documento que se está mostrando.

En octubre de 1998 se aprobó la recomendación Document Object Model (DOM) level 1, editada por Vidur Apparao y otros. Actualmente (septiembre de 2006), el W3C está preparando la recomendación Document Object Model (DOM) level 1 (2º edición) (aunque sigue en fase de documento de trabajo desde septiembre de 2000, por lo que seguramente no llegará a publicarse).

En noviembre de 2000 se aprobaron las recomendaciones DOM Level 2 Core Specification 1.0, editada por Arnaud Le Hors y otros, DOM Level 2 Views Specification 1.0, editada por Arnaud Le Hors y otros, DOM Level 2 Events Specification 1.0, editada por Tom Pixley, DOM Level 2 Style Specification 1.0, editada por Chris Wilson y otros y DOM Level 2 Traversal and Range Specification 1.0, editada por Joe Kesselman. En enero de 2003 se aprobó la recomendación DOM Level 2 HTML Specification 1.0, editada por Vidur Apparao y otros.

En enero de 2004 se aprobó la recomendación DOM Level 3 Validation Specification 1.0, editada por Vidur Apparao y otros. En abril de 2004 se aprobaron las recomendaciones DOM Level 3 Core Specification 1.0, editada por Arnaud Le Hors y otros y DOM Level 3 Load and Save Specification 1.0, editada por Johnny Stenback y Andy Heninger.

#### DHTML (Dynamic HTML = HTML Dinámico)

El término DHTML (Dynamic HTML = HTML Dinámico) no corresponde a ninguna recomendación del W3C. Es un término comercial utilizado a finales de los 90 para referirse a las páginas webs que utilizaban hojas de estilo y rutinas ECMAScript para aumentar la interactividad. El término ha caido en desuso.

#### AJAX y Web 2.0

Completar.

### Otros lenguajes de marcas

Además del XHTML, el W3C desarrolla 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)
- XForms (formularios)
- SMIL (Synchronized Multimedia Integration Language = Lenguaje de Integración Multimedia Sincronizada)
- SSML (Speech Synthesis Markup Language = Lenguaje de Marcas para Síntesis de voz)

#### MathML (Mathematical Markup Language = Lenguaje de Marcas Matemático)

MathML es un lenguaje de marcas dirigido a la representación de fórmulas matemáticas.

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 corregía 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. En junio de 2006 se creó el grupo de trabajo que debe redactar la recomendación MathML 3.0 en un plazo de dos años.

Completar: plug-in para IE, nativo en Firefox.

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

SVG es un lenguaje de marcas dirigido a la representación de gráficos vectoriales (dibujos y texto).

En septiembre de 2001 se aprobó la recomendación SVG 1.0, editada por Jon Ferraiolo. En enero de 2003 se aprobaron las recomendaciones SVG 1.1, editada por Dean Jackson, y SVG Profiles, editada por Tolga Capin, en la que se definían dos versiones para dispositivos móviles, SVG Tiny (para teléfonos móviles) y SVG Basic (para PDAs).

Actualmente (septiembre de 2006), el W3C está preparando la recomendación SVG 1.2, que tendrá dos versiones. Una versión completa, SVG 1.2 Full, y una versión reducida, SVG 1.2 Tiny.

Poco a poco, SVG se está imponiendo como formato común para gráficos vectoriales. Muchos editores gráficos permiten exportar los dibujos en formato SVG o incluso trabajan con SVG como formato nativo, por ejemplo Inkscape, un editor con licencia GPL. También cabe destacar la colección de imágenes en formato SVG Open Clip Art Library, con licencia Creative Commons.

Completar: pug-in Adobe o Corel para Internet Explorer y Firefox

#### XForms

XForms es la evolución de los formularios HTML actuales.

En octubre de 2003 se aprobó la recomendación XForms 1.0, editada por Micah Dubinko y otros. En marzo de 2006 se aprobó la recomendación XForms 1.0 (segunda edición), editada por John M. Boyer y otros. Actualmente (septiembre de 2006) se está elaborando la versión XForms. Actualmente (septiembre de 2006), el W3C está preparando las recomendaciones XForms 1.0 Perfil Básico y XForms 1.1.

Completar con XForms en Firefox y en IE (formsPlayer).

#### SMIL (Synchronized Multimedia Integration Language = Lenguaje de Integración Multimedia Sincronizada)

SMIL es un lenguaje de marcas dirigido a la creación de presentaciones.

En junio de 1998 se aprobó la recomendación SMIL 1.0, editada por Philipp Hoschka. En agosto de 2001 se aprobó la recomendación SMIL 2.0, editada por Jeff Ayars y otros. En enero de 2005 se aprobó la recomendación SMIL 2.0 (2º edición), corrigiendo los errores de la primera edición. En diciembre de 2005 se aprobó la recomendación SMIL 2.1, que extiende el uso de SMIL a otros lenguajes XML y define perfiles móviles.

Completar: SMIL en Internet Explorer y Firefox, Ambulant

#### VoiceXML / SSML

La recomendación VoiceXML controla la interacción de las aplicaciones con el usuario, mientras que la recomendación SSML (Speech Synthesis Markup Language) se ocupa del control de la síntesis de voz y la recomendación SRGS (Speech Recognition Grammar Specification) está dirigida a los reconocedores de voz mediante gramáticas que describen la respuesta esperada de los usuarios.

En marzo de 2004 se aprobó la recomendación VoiceXML 2.0, editada por Scott McGlashan y otros (la especificación VoiceXML 1.0 no fue elaborada por el W3C, sino por el consorcio VoiceXML Forum en marzo de 2000). En marzo de 2004 se aprobó la recomendación Speech Recognition Grammar Specification 1.0, editada por Andrew Hunt y Scott McGlashan. En septiembre de 2004 se aprobó la recomendación SSML 1.0, editada por Daniel C. Burnett y otros.

Actualmente (septiembre de 2006), el W3C está preparando la recomendación VoiceXML 2.1.

Volver al índice

## Estándares gráficos

Las imágenes pueden almacenarse como imágenes de mapa de bits o como imágenes vectoriales. Dependiendo del contenido y del uso que quiera hacerse de las imágenes, resulta más conveniente utilizar un tipo u otro.

### PNG

El formato PNG (Portable Network Graphics = Gráficos de Red Portátiles) surgió como alternativa a la reclamación de Unisys, poseedora de una patente del algoritmo LZW, usado en el formato GIF. La primera versión preliminar fue propuesta por Thomas Boutell en enero de 1995 y en octubre de 1996 se aprobó la recomendación Portable Network Graphics Specification 1.0, editada por Thomas Boutell. En noviembre de 2003 se aprobó la recomendación Portable Network Graphics Specification (2º edición), editada por David Duce y publicada también como norma ISO 15948.

Las ventajas de PNG son muchas: se trata de un formato libre, sin pérdida, que consigue mayor compresión que GIF (alrededor de un 20%), con transparencia alfa (cada pixel puede tener su propio nivel de transparencia), canal gamma (para ajustar el brillo) y entrelazado.

### SVG

Completar

### WebCGM

Completar

Volver al índice

## Estándares 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í. El desarrollo del XML es actualmente (septiembre de 2006) la principal actividad del W3C, por lo que existen varios grupos de trabajo que han aprobado un gran número de recomendaciones.

### XML Core

#### XML (Extensible Markup Language = Lenguaje de Marcas Extensible)

En febrero de 1998 se aprobó la recomendación XML 1.0, en octubre de 2000 se aprobó la recomendación XML 1.0 (2º edición), en febrero de 2004 se aprobó la recomendación XML 1.0 (3º edición) y en agosto de 2006 se aprobó la recomendación XML 1.0 (4º edición), todas ellas editadas por Tim Bray y otros. En febrero de 2004 se aprobó la recomendación XML 1.1, y en agosto de 2006 se aprobó la recomendación XML 1.1 (2º edición), todas ellas editadas por Tim Bray y otros.

La recomendación XML 1.1 modificaba el concepto de documento bien-formado y se adaptaba a las modificaciones ocurridas en el juego de caracteres Unicode.

#### Namespaces in XML

Los espacios de nombres es el mecanismo que permite que diferentes lenguajes puedan compartir etiquetas sin ambigüedad.

En enero de 1999 se aprobó la recomendación Namespaces in XML 1.0, editada por Tim Bray y otros. En agosto de 2006 se aprobó la recomendación Namespaces in XML 1.0 (2º edición), editada por Tim Bray y otros. En febrero de 2004 se aprobó la recomendación Namespaces in XML 1.1, editada por Tim Bray y otros. En agosto de 2006 se aprobó la recomendación Namespaces in XML 1.1 (2º edición), editada por Tim Bray y otros.

#### Otros

En junio de 1999 se aprobó la recomendación Associating Style Sheets with XML documents 1.0, editada por James Clark.

En junio de 2001 se aprobó la recomendación XML Base, editada por Jonathan Marsh.

En octubre de 2001 se aprobó la recomendación XML Information Set y en febrero de 2004 se aprobó la recomendación XML Information Set (2º edición), ambas editadas por John Cowan y Richard Tobin.

En diciembre de 2004 se aprobó la recomendación XML Inclusions (XInclude) 1.0, editada por Jonathan Marsh y David Orchard. En noviembre de 2006 se aprobó la recomendación XML Inclusions (XInclude) 1.0 (2º edición), editada por Jonathan Marsh y David Orchard.

En septiembre de 2005 se aprobó la recomendación xml:id 1.0, editada por Jonathan Marsh y otros.

### XSL (eXtensible Style Language)

XSL es un conjunto de recomendaciones que definen la transformación y presentación de un documento XML.

#### XPath

En noviembre de 1999 se aprobó la recomendación XML Path Language 1.0, editada por James Clark y Steve DeRose.

Actualmente (septiembre de 2006), el W3C está preparando las recomendaciones XQuery 1.0 and XPath 2.0 Data Model (XDM), XPath Requirements 2.0 y XML Path Language 2.0.

#### XSLT (XSL Transformations)

En noviembre de 1999 se aprobó la recomendación XSL Transformations 1.0, editada por James Clark.

Actualmente (septiembre de 2006), el W3C está preparando las recomendaciones XSL Requirements 2.0, XSL Transformations 1.1 y XSL Transformations 2.0.

#### XSL/FO (XSL Formatting Objects)

En octubre de 2001 se aprobó la recomendación Extensible Stylesheet Language 1.0, editada por Sharon Adler y otros. En diciembre de 2006 se aprobó la recomendación Extensible Stylesheet Language (XSL) 1.1, editada por Anders Berglund.

### XML Linking

Actualmente (septiembre de 2006), este grupo ya no está activo.

#### XML Linking Language (XLink)

En junio de 2001 se aprobó la recomendación XML Linking Language (XLink) 1.0, editada por Steve DeRose y otros.

#### XBase

En junio de 2001 se aprobó la recomendación XML Base, editada por Jonathan Marsh.

#### XPointer

En marzo de 2003 se aprobaron las recomendaciones XPointer Framework, editada por Paul Grosso y otros, XPointer element() Scheme, editada por Paul Grosso y otros y XPointer xmlns() Scheme, editada por Steven J. DeRose y otros,

### XML Query

El objetivo de XQuery es proporcionar herramientas para realizar consultas sobre documentos XML.

Actualmente (septiembre de 2006), no se ha aprobado todavía ninguna recomendación, aunque el W3C está preparando numerossas recomendaciones.

### XML Schema

Las esquemas XML son una evolución de las DTD.

En mayo de 2001 se aprobaron las recomendaciones Esquema XML Parte 0: Fundamentos, Esquema XML Parte 1: Estructuras, Esquema XML Parte 2: Tipos de datos. En octubre de 2004 se aprobaron las recomendaciones Esquema XML Parte 0: Fundamentos (2º edición), Esquema XML Parte 1: Estructuras (2º edición), Esquema XML Parte 2: Tipos de datos (2º edición). Actualmente (septiembre de 2006), el W3C está preparando las recomendaciones Esquema XML 1.1.

## El futuro: la Web semántica

La Web Semántica es una iniciativa del W3C para permitir que los datos disponibles en la Web puedan ser procesados de forma automática. La web actual está formada por documentos, la intención del W3C es que la web del futuro esté formada por datos con significado y que las máquinas puedan procesar toda esa información.

### RDF (Resource Description Framework)

En febrero de 1999 se aprobó la recomendación Resource Description Framework (RDF) Model and Syntax Specification, editada por Ora Lassila y Ralph R. Swick. En febrero de 2004 se publicaron las recomendaciones RDF/XML Syntax Specification (Revisión), editada por Dave Beckett, RDF Vocabulary Description Language 1.0: RDF Schema, editada por Dan Brickley y R.V. Guha, RDF Primer, editada por Frank Manola y Eric Miller, RDF Concepts and Abstract Syntax, editada por Graham Klyne y Jeremy Carroll, RDF Semantics, editada por Patrick Hayes y RDF Test Cases, editada por Jan Grant y Dave Beckett.

Completar

### OWL (Web Ontology Language)

En febrero de 2004 se aprobaron las recomendaciones OWL Use Cases and Requirements, editada por Jeff Heflin, OWL Reference, editada por Mike Dean y Guus Schreiber, OWL Semantics and Abstract Syntax, editada por Peter F. Patel-Schneider y otros, OWL Overview, editada por Deborah L. McGuinness y Frank van Harmelen, OWL Test Cases, editada por Jeremy Carroll y Jos De Roo, OWL Guide, editada por Michael K. Smith y otros.

Completar

Volver al índice

## Cuadros cronológicos

### Estándares Web

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

Año | (X)HTML | CSS | DOM | Otros ML | ECMAScript
--- | --- | --- | --- | --- | ---
2006 | Sep: XHTML Print |  |  | Mar: XForms 1.0 (2º ed) |
2005 |  |  |  | Dic: SMIL 2.1 Ene: SMIL 2.0 (2º ed) |
2004 |  |  | Abr: DOM 3 (core, load and save) Ene: DOM3 (validation) | Sep: SSML 1.0 Mar: SRGS 1.0 Mar: VoiceXML 2.0 | Jun: ECMAScript para XML (E4X)
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 May: Notación Ruby Abril: Modularización XHTML |  |  | Sep:SVG 1.0 Ago: SMIL 2.0 Feb: MathML 2.0 |
2000 | Dic: XHTML Basic Ene: XHTML 1.0 |  | Nov: DOM 2 (core, etc) |  |
1999 | Dic: HTML 4.01 | Ene: CSS 1 (revisión) |  | Jul: MathML 1.01 | Dic: ECMAScript (3º ed)
1998 | Abr: HTML 4.0 (revisión) | May: CSS 2 | Oct: DOM 1 | Jun: SMIL 1.0 Abr: MathML 1.0 | Ago: ECMAScript (2º ed)
1997 | Dic: HTML 4.0 Ene: HTML 3.2 |  |  |  | Jun: ECMAScript (1º ed)
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 / SeaMonkey | Firefox
--- | --- | --- | --- | --- | --- | ---
2006 |  | Ene: NS 8.1 | Oct: IE 7.0 | Sep: Op 9.02 Jun: Op 9.0 | Ene: Sea 1.0 | Oct: Firefox 2.0
2005 |  | May: NS 8.0 |  | Sep: Op 8.50 Abr: Op 8.0 |  | Nov: Firefox 1.5
2004 |  | Ago: NS 7.2 | Ago: IE 6.0 SP2 | Nov: Op 7.60 May: Op 7.50 | Jun: Moz 1.7 En: Moz 1.6 | Nov: Firefox 1.0
2003 |  | Jun: NS 7.1 |  | Sep: Op 7.20 Abr: Op 7.10 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:

- En la tabla no aparecen la fecha de publicación de las versiones menores
- Mosaic dejó de desarrollarse en 1997
- Netscape dejó de desarrollarse oficialmente en 2003, aunque posteriormente han aparecido nuevas versiones basadas en Mozilla / Firefox (desde la versión 6.0, Netscape ya estaba basado en Mozilla).
- En mayo de 2003 Microsoft anunció que IE 7 sólo estaría disponible en Windows Vista, aunque finalmente no ha sido así.
- Opera ha sido siempre el navegador comercial más popular, aunque sin dejar de ser minoritario. A partir de la versión 8.50, Opera es completamente gratuito.
- Mozilla (suite integrada) dejó de desarrollarse oficialmente en 2005 para dar lugar a varias aplicaciones separadas (Firefox, Thunderbird, Calendar), pero un grupo de desarrolladores ha continuado el desarrollo bajo el nombre de SeaMonkey. La tabla no incluye 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

### Estándares gráficos

La tabla siguiente indica las fechas de publicación de las recomendaciones del W3C relacionadas con gráficos.

Año | PNG | WebCGM | SVG
--- | --- | --- | ---
2007 |  | Ene: WebCGM 2.0 |
2006 |  |  |
2005 |  |  |
2004 |  |  |
2003 | Nov: PNG (2º ed) |  | Ene: SVG 1.1 Ene: Mobile SVG
2002 |  |  |
2001 |  | Dic: WebCGM 1.0 (2º ed) | Sep:SVG 1.0
2000 |  |  |
1999 |  | Ene: WebCGM 1.0 |

Volver al índice

### Estándares XML

La tabla siguiente indica las fechas de publicación de las recomendaciones del W3C relacionadas con XML.

Año | XML Core | XSL | XLinking | XQuery | XSL / XQuery | XML Schema
--- | --- | --- | --- | --- | --- | ---
2007 |  |  | Ene: XPath 2.0 Ene: XSLT 2.0 |  | Ene: XQuery 1.0 Ene: Syntax for XQuery 1.0 | Ene: XDM Ene: Functions and Operators Ene: Formal Semantics |
2006 | Ago: XML 1.1 (2º ed) Ago: XML 1.0 (4º ed) | Nov: XInclude 1.0 (2º ed) Ago: Namespaces XML 1.1 (2º ed) Ago: Namespaces XML 1.0 (2º ed) | Dic: XSL/FO 1.1 |  |  |  |
2005 |  | Sep: xml:id 1.0 |  |  |  |  |
2004 | Feb: XML 1.1 Feb: XML 1.0 (3º ed) | Dic: XInclude 1.0 Feb: Namespaces XML 1.1 Feb: XML Infoset (2º ed) |  |  |  |  | Oct: Fundamentos (2º ed) Oct: Estructuras (2º ed) Oct: Tipos de datos (2º ed)
2003 |  |  |  | Mar: XPointer Framework Mar: XPointer element() Scheme Mar: XPointer xmlns() Scheme |  |  |
2002 |  |  |  |  |  |  |
2001 |  | Oct: XML Infoset Jun: XML Base | Oct: XSL/FO 1.0 | Jun: XLink 1.0 Jun: XML Base |  |  | May: Fundamentos May: Estructuras May: Tipos de datos
2000 | Oct: XML 1.0 (2º ed) |  |  |  |  |  |
1999 |  | Nov: Namespaces XML Jun: SS with XML | Nov: XPath 1.0 Nov: XSLT 1.0 |  |  |  |
1998 | Feb: XML 1.0 |  |  |  |  |  |

Volver al índice