Este no es un servicio propiamente tal. WWW es un proyecto [ProyW3] que inició CERN (Laboratorio Europeo de Física de Partículas), y que busca construir un Sistema Hipermedia Distribuido [BLCail92].
En este proyecto se incorporaron tres elementos que ningún otro servidor había considerado:
Para lograr esto, fue necesario crear un lenguaje simple que permitiera indicar al visualizador qué estructura tiene el documento que se desea desplegar. Este lenguaje se denomina HTML (Hyper-Text Markup Language) [BLCon95] [Ragget97], y es una aplicación de SGML (Structured General Markup Language) [Goldfa90]. HTML es una gramática compuesta por marcas que definen atributos a determinadas porciones de texto dentro del documento. Algunos atributos son títulos, enumeraciones y texto destacado.
Los documentos hipertexto poseen la capacidad de contener enlaces hacia otros documentos. De esta forma, se puede asociar una palabra o término utilizado en un documento con otro documento que describa ese término. Este nuevo documento puede además contener enlaces a otros documentos, a medida que vayan apareciendo nuevos términos que requieran de explicación.
Generalmente, los enlaces hipertexto (hiperenlaces) son representados por texto subrayado o en un color diferente, para distinguirlos del texto común. Si los enlaces son provistos por imágenes, éstas aparecen dentro de un recuadro de color.
Los documentos hipertexto pueden contener enlaces a otros documentos que no son hipertexto, como texto plano, imágenes, sonidos, animaciones y cualquier otro medio que entregue información. A esto se le llama hipermedia.
El concepto de hipertexto es aplicado en programas de uso habitual, tales como en las ventanas de ayuda de Windows, o en aplicaciones HyperCard en ambiente Macintosh.
El considerable aumento que ha experimentado últimamente el uso de estaciones de trabajo para accesar servicios de información permitió que se desarrollaran visualizadores que aprovechen las capacidades gráficas que estas máquinas poseen.
Una de las principales innovaciones es la incorporación de imágenes al texto de un documento. Usando esta habilidad, un documento puede ser enriquecido con fotografías, cuadros, diagramas y otros. Otra característica de los visualizadores gráficos es la posibilidad de utilizar varios tipos de letra, controlar el tamaño y otros atributos de éstos. Así, un título puede ser destacado sobre el texto normal y sobre los subtítulos, y representar en alguna forma especial los enlaces hipertexto.
La tipografía utilizada para desplegar un documento queda a criterio del visualizador, la cual puede ser configurada por el usuario dependiendo de la resolución alcanzada por su pantalla o de sus gustos personales. Sin embargo, los desarrolladores de páginas hipertexto desean controlar la mayor cantidad de atributos posibles, con el fin de darle un toque personal a su servidor, cambiando el tamaño y los colores de las letras, los colores del fondo de la pantalla, y especificando la ubicación de las imágenes en el documento, entre otras cosas.
El uso de punteros o cursores gráficos permite además facilitar el uso de los visualizadores. Basta posicionar el cursor sobre un enlace hipertexto y presionar un botón para solicitar el documento asociado. En la Figura 2.13 se presenta como ejemplo un visualizador en ambiente gráfico.
Un programa visualizador para WWW es capaz de obtener información de distintos servidores, presentando los documentos o menús en forma homogénea y transparente para el usuario. Un menú Gopher o FTP es representado por un documento que contiene varios enlaces de hipertexto, y si el visualizador está desplegando en una pantalla gráfica, se adjunta a cada enlace un ícono que represente el tipo de documento que se esta enlazando.
Esto posibilita al proveedor de información poner enlaces en un documento hipertexto que obtengan información de servidores de hipertexto (HTTP), FTP, Gopher y News entre otros. Además, los documentos hipertexto pueden ser obtenidos también de estos otros servidores.
Para lograr esta integración, fue necesario estandarizar la forma de referenciar un documento, naciendo las URI (Universal Resource Identifier) [BLee94], y generalizándose en el Localizador Uniformado de Recursos URL (Uniform Resource Locator) [BLMasi94] [Fieldi95].
Por lo tanto, WWW puede ser considerado como un gran servidor de información distribuido, en donde se provee información utilizando varios protocolos. Algunos documentos y artículos interesantes sobre el nacimiento de WWW son [BLCail94] y [Kleine94].
El servidor de hipertexto (HTTP), propiamente tal, es relativamente simple y está disañado para optimizar este servicio. En pocas palabras: acepta un requerimiento de documento, realiza validaciones, lo entrega y cierra la conexión [BLFiel96].
El servidor, al recibir un requerimiento, determina las acciones a seguir para entregar resultados. Las posibilidades son pocas, se puede estar solicitando:
Además, un documento puede tener restricciones de acceso, las cuales son verificadas y se solicita una palabra clave si fuera necesario. Si no se cumplen los requisitos, se niega el acceso.
Los documentos a entregar son revisados para determinar su tipo. Esta verificación puede estar basada en el nombre del archivo (su extensión) o en su contenido. El tipo de archivo es entregado al visualizador al comenzar la transferencia para que éste determine las acciones que debera realizar una vez finalizada la transferencia. Algunas acciones posibles son desplegar una imagen, emitir un sonido, mostrar una animación gráfica, o invocar cualquier programa que sepa manipular correctamente el contenido del archivo.
Un análisis a problemas en la eficiencia del protocolo HTTP es realizado en [Spero95].