jueves, 25 de noviembre de 2010

World Wide Web

En informática, la World Wide Web, es un sistema de distribución de información basado en hipertexto o hipermedios enlazados y accesibles a través de Internet. Con un navegador web, un usuario visualiza sitios web compuestos de páginas web que pueden contener texto, imágenes, videos u otros contenidos multimedia, y navega a través de ellas usando hiperenlaces.

La Web fue creada alrededor de 1989 por el inglés Tim Berners-Lee y el belga Robert Cailliau mientras trabajaban en el CERN en Ginebra, Suiza, y publicado en 1992. Desde entonces, Berners-Lee ha jugado un papel activo guiando el desarrollo de estándares Web (como los lenguajes de marcado con los que se crean las páginas web), y en los últimos años ha abogado por su visión de una Web Semántica.



Funcionamiento de la Web
El primer paso consiste en traducir la parte nombre del servidor de la URL en una dirección IP usando la base de datos distribuida de Internet conocida como DNS. Esta dirección IP es necesaria para contactar con el servidor web y poder enviarle paquetes de datos.

El siguiente paso es enviar una petición HTTP al servidor Web solicitando el recurso. En el caso de una página web típica, primero se solicita el texto HTML y luego es inmediatamente analizado por el navegador, el cual, después, hace peticiones adicionales para los gráficos y otros ficheros que formen parte de la página. Las estadísticas de popularidad de un sitio web normalmente están basadas en el número de páginas vistas o las peticiones de servidor asociadas, o peticiones de fichero, que tienen lugar.

Al recibir los ficheros solicitados desde el servidor web, el navegador renderiza la página tal y como se describe en el código HTML, el CSS y otros lenguajes web. Al final se incorporan las imágenes y otros recursos para producir la página que ve el usuario en su pantalla.

La mayoría de las páginas web contienen hiperenlaces a otras páginas relacionadas y algunas también contienen descargas, documentos fuente, definiciones y otros recursos web.

Esta colección de recursos útiles y relacionados, interconectados a través de enlaces de hipertexto, es lo que ha sido denominado como 'red' (web, en inglés) de información. Al trasladar esta idea a Internet, se creó lo que Tim Berners-Lee llamó WorldWideWeb (un término escrito en CamelCase, posteriormente desechado) en 1990.[1]

Si un usuario accede de nuevo a una página después de un pequeño intervalo, es probable que no se vuelvan a recuperar los datos del servidor web de la forma en que se explicó en el apartado anterior. Por defecto, los navegadores almacenan en una caché del disco duro local todos los recursos web a los que el usuario va accediendo. El navegador enviará una petición HTTP sólo si la página ha sido actualizada desde la última carga, en otro caso, la versión almacenada se reutilizará en el paso de renderizado para agilizar la visualización de la página.

Esto es particularmente importante para reducir la cantidad de tráfico web en Internet. La decisión sobre la caducidad de la página se hace de forma independiente para cada recurso (imagen, hoja de estilo, ficheros JavaScript, etc, además de para el propio código HTML). Sin embargo en sitios de contenido muy dinámico, muchos de los recursos básicos sólo se envían una vez por sesión. A los diseñadores de sitios web les interesa reunir todo el código CSS y JavaScript en unos pocos ficheros asociados a todo el sitio web, de forma que pueden ser descargados en las cachés de los usuarios y reducir así el tiempo de carga de las páginas y las peticiones al servidor.


Aparte de las utilidades creadas en los servidores Web que pueden determinar cuándo los ficheros físicos han sido actualizados, los diseñadores de páginas web generadas dinámicamente pueden controlar las cabeceras HTTP enviadas a los usuarios, de forma que las páginas intermedias o sensibles a problemas de seguridad no sean guardadas en caché. Por ejemplo, en los bancos on line y las páginas de noticias se utiliza frecuentemente este sistema.

Esto nos ayuda a comprender la diferencia entre los verbos HTTP 'GET' y 'POST' - los datos solicitados con GET pueden ser almacenados en la caché, si se cumplen las otras condiciones, mientras que con los datos obtenidos después de enviar información al servidor con POST normalmente no se puede.

Java y JavaScript
Un avance significativo en la tecnología web fue la Plataforma Java de Sun Microsystems. Este lenguaje permite que las páginas web contengan pequeños programas (llamados applets) directamente en la visualización. Estos applets se ejecutan en el ordenador del usuario, proporcionando un interfaz de usuario más rico que simples páginas web. Los applets Java del cliente nunca obtuvieron la popularidad que Sun esperaba de ellos, por una serie de razones, incluyendo la falta de integración con otros contenidos (los applets fueron confinados a pequeñas cajas dentro de la página renderizada) y el hecho de que muchos ordenadores del momento eran vendidos a los usuarios finales sin una JVM correctamente instalada, por lo que se necesitaba que el usuario descargara la máquina virtual antes de que el applet comenzara a aparecer. Actualmente Adobe Flash desempeña muchas de las funciones que originalmente se pensaron que podrían hacer los applets de Java incluyendo la ejecución de contenido de vídeo, animaciones y algunas características superiores de GUI. En estos momentos Java se utiliza más como plataforma y lenguaje para el lado del servidor y otro tipo de programación.

JavaScript, en cambio, es un lenguaje de script que inicialmente fue desarrollado para ser usado dentro de las páginas web. La versión estandarizada es el ECMAScript. Si bien los nombres son similares, JavaScript fue desarrollado por Netscape y no tiene relación alguna con Java, aparte de que sus sintaxis derivan del lenguaje de programación C. En unión con el Document Object Model de una página web, JavaScript se ha convertido en una tecnología mucho más importante de lo que pensaron sus creadores originales. La manipulación del Modelo de Objetos de Documento después de que la página ha sido enviada al cliente se ha denominado HTML Dinámico (DHTML), para enfatizar un cambio con respecto a las visualizaciones de HTML estático.

En su forma más simple, toda la información opcional y las acciones disponibles en las páginas web con JavaScript ya son cargadas la primera vez que se envía la página. Ajax ("Asynchronous JavaScript And XML", en español, JavaScript Asíncrono y XML) es una tecnología basada en JavaScript que puede tener un efecto significativo para el desarrollo de la Web. Ajax proporciona un método por el cual grandes o pequeñas partes dentro de una página web pueden actualizarse!, usando nueva información obtenida de la red en respuesta a las acciones del usuario. Esto permite que la página sea mucho más confiable, interactiva e interesante, sin que el usuario tenga que esperar a que se cargue toda la página. Ajax es visto como un aspecto importante de lo que suele llamarse Web 2.0. Ejemplos de técnicas Ajax usadas actualmente pueden verse en Gmail, Google Maps etc.