Está en la página 1de 21

Hacia la web asncrona

Hacia la web asncrona.

Hacia la web asncrona

Qu es Internet?

Es una enorme red, que une diferentes redes independientes utilizando el protocolo TCP/IP. Son un montn de mquinas con direcciones IP, que pueden interconectarse entre ellas. Internet no depende de una nica organizacin, empresa o gobierno. Muchas organizaciones y empresas juntas disean los estndares. Los gobiernos y empresas tienen las infraestructuras (cables submarinos, satlites...)

Hacia la web asncrona

Trminos de Internet

RFC: Request for Comments


Especificaciones que comenzaron a escribirse en 1969, proporcionando as una manera de proponer protocolos, explicados de tal manera que no dieran lugar a ambigedades.

SGML: Standard Generalized Markup Language


Estandarizado en 1986 por ISO, especifica un sistema para la organizacin y etiquetado de documentos.

Hacia la web asncrona

Organizaciones en Internet

W3C: World Wide Web Consortium


Consorcion Internacional creado en 1994 por Tim Berners-Lee, que publica las recomendaciones a seguir para la WWW.

IEFT: Internet Engineering Task Force


Organizacin Internacional Abierta de Normalizacin, creada en EEUU en 1986, y que abarca reas como el transporte, la seguridad y el encaminamiento.

ECMA: European Computer Manufactures Association


Asociacin Internacional de fabricantes de computadoras, que persiguen crear estndares en comunicacin e informacin.

Hacia la web asncrona

Historia de Internet (1)

Comenz a finales de los 50, como un proyecto experimental de ARPA (La Agencia de investigacin avanzada de proyectos del Departamento de Defensa) 1968 Primeras conexiones con universidades (UCLA, Standford...) 1973 Xerox inventa el cable Ethernet 1974 Se comienzan a disear los primeros protocolos independientes de la topologa de red. 1974 El primer borrador de TCP.

Hacia la web asncrona

Historia de Internet (2)

1981 Nace el trmino Internet 1982 ISO libera OSI (modelo de comunicacin de redes de 7 capas) 1984 Nace DNS (Sistema de Nombres de dominio) 1990 Tim Bernes-Lee, en el CERN (Ginebra), inventa:
HTTP (protocolo de transporte) HTML (meta-lenguaje de hiper texto) WorldWideWeb (primer navegador web)

Hacia la web asncrona

HTTP

Protolo de transporte a nivel de aplicacin utilizado en cada peticin web. HTTP se basa en una serie de RFC, siendo el ms importante el RFC 2616, que especifica HTTP 1.1 Protocolo orientado a transacciones, que se basa en un esquema peticin-respuesta de un cliente(navegador) hacia un servidor (apache?). HTTP es un protocolo sin estado: No se guarda informacin de conexiones anteriores.

Hacia la web asncrona

HTTP 1.1 REQUESTS (peticiones)

Existen unos cuantos mtodos de peticin en HTTP 1.1, siendo los ms importantes GET, POST o HEAD. Ejemplo de peticin HTTP:
GET/HTTP/1.1 Host:www.google.es UserAgent:Mozilla/5.0(X11;U;Linuxi686;esES; rv:1.9.0.11)Gecko/2009060308Ubuntu/9.04(jaunty) Firefox/3.0.11 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0 .8 AcceptLanguage:enus,en;q=0.7,es;q=0.3 AcceptEncoding:gzip,deflate AcceptCharset:ISO88591,utf8;q=0.7,*;q=0.7 Cookie: PREF=ID=134e9ba9c956a28f:TM=1247645018:LM=1247645018:S=9sHtNu O_unBFgLVV \n

Hacia la web asncrona

HTTP 1.1: RESPONSE (respuestas) (1)

Las respuestas del servidor estn basadas en cdigos de respuesta:


1xx Conexin rechazada 2xx Operacin exitosa 3xx Redireccin 4xx Error en el cliente 5xx Error en el servidor

La respuesta del servidor se divide encabezados de respuesta, seguidos del recurso solicitado (html, imgenes, audio, etc)

Hacia la web asncrona

HTTP 1.1: RESPONSE (respuestas) (2)

Ejemplo de respuesta HTTP:


HTTP/1.x200OK CacheControl:private,maxage=0 Date:Wed,15Jul200908:14:16GMT Expires:1 ContentType:text/html;charset=UTF8 ContentEncoding:gzip Server:gws ContentLength:2867 \n <html> Etc,etc,etc...

Hacia la web asncrona

HTML

Publicado por Tim Berners-Lee en 1991, con el nombre HTML Tags.


Inclua etiquetas de listas(ul), glosarios(dt,dl), encabezados(h1,h2) o enlaces (a) entre otras que todava se conservan.

En 1993, la IETF lo reconoci como una ampliacin de SGML, definiendo el primer DTD para HTML. HTML ha evolucionado hasta xHTML (eXtensible HyperText Markup Language): una implementacin de HTML, siguiendo las pautas ms estrictas de XML.

Hacia la web asncrona

Navegadores Web

Mosaic: Primer navegador web usado masivamente.


- Segundo navegador grfico, primero en MSWindows. - Creado en 1993.

Internet Explorer: Navegador desarrollado por MS Windows, cuya primera versin se public en agosto de 1995. Netscape: Primer navegador en introducir scripting introducido en los documentos HTML. Diciembre de 1995.

Hacia la web asncrona

Javascript

Lenguaje interpretado (no compilado), inventado por Brendan Eich, e introducido en la versin 1.0 de Netscape Communications. Bsicamente dotaba de lgica de programacin a los documentos HTML (estticos hasta entonces). En 1997 fue adoptado como estndar ECMA. Actualmente est soportado por todos los navegadores, y se encuentra en la versin 1.8 Ha sido el protagonista tcnico detrs del BOOM 2.0 Hoy por hoy es junto a la tecnologa ShockWave Flash, el protagonista de la web que conocemos.

Hacia la web asncrona

SWF: Flash

Formato de archivo basado en grficos vectoriales y creado por Macromedia (adquirido por Adobe Systems) Ficheros binarios que pueden ser ejecutados en cualquier navegador gracias a un plugin (disponible en todas las plataformas). Actualmente adems de soportar audio y video, implementa un gran nmero de funcionalidades que han facilitado mucho la creacin de aplicaciones muy potentes en Internet.

Hacia la web asncrona

Web sncrona

A pesar de todo, la web sigue basndose en HTTP. Seguimos teniendo un protocolo sin estados, basado en el binomio pregunta-respuesta. Javascript y Flash dotan a nuestros navegadores de fuegos artificiales, pero siempre basndonos en eventos y peticiones que nacen en el cliente. Las aplicaciones web estn cada vez ms de moda:
Procesadores de texto, clientes de correo, mapas navegables, ERPs, CRMs, Administracin de router...

TODO ES WEB... y la web es sncrona.

Hacia la web asncrona

Polticas pooling

Problema: Necesitamos avisar al cliente web de distintos eventos que suceden ajenos a l, de manera amigable. Gracias a XMLHttpRequest (o el vulgar AJAX), podemos realizar peticiones al servidor web escondidas al usuario. Solucin: Preguntemos al servidor cada cierto tiempo (1 segundo, 500 ms), si algo ha cambiado, y lo cambiamos en el DOM. Los servidores web no estn preparados para esto... Alternativas?

Hacia la web asncrona

Flash Shared Objects

Flash tiene la tecnologa para crear objetos compartidos en swfs. Tiene su propio servidor (Flash Media Server), su propia capa de transporte (AMF) y su propio protocolo de comunicacin (RTMP). Bsicamente se comparten estructuras entre varios clientes y un servidor, que se actualizan en tiempo real. Se evitan polticas de pooling, aunque estamos utilizando un elemento que no est soportado por los navegadores directamente.

Hacia la web asncrona

Comet

Tcnica de programacin web basado en XMLHttpRequest, que evita el pooling para la actualizacin de datos en el lado del cliente. Utilizando lo que se conoce como long-pooling. Bsicamente consiste en mantener abierta y viva la conexin HTTP, esperando a que el servidor enve datos. En cada envo de datos la conexin deber ser renovada. El cliente realiza las peticiones utilizando otra conexin paralela. Rendimiento muy bajo para sitios con mucho ancho de banda.

Hacia la web asncrona

HTML 5: WebSocket

HTML5 es la quinta revisin de HTML en la que trabaja el W3C. Una de las principales caractersticas de HTML5 es la introduccin del concepto de WebSocket. Proporciona una interfaz en Javascript para crear un canal de comunicacin full-duplex.
miWebSocket.onopen=function(e){alert(conectado.);}; miWebSocket.onmessage=function(e){alert(e.data);}; miWebSocket.postMessage(holaservidor!); miWebSocket.disconnect();

Sencillo, limpio, y sin hacks innecesarios :)

Hacia la web asncrona

Licencia Copyleft

Copyright

Hacia la web asncrona

Licencia Copyleft

Este documento est protegido bajo la licencia Reconocimiento-SinObraDerivada 2.1 Espaa de Creative Common (http://creativecommons.org/licenses/by-nd/2.1/es/)
JavierInfante(jabi@irontec.com) Copyright2007Irontec<contacto@irontec.com> Sepermitelacopia,modificacin,distribucin,uso comercialyrealizacindelaobra,siempreycuandose reconozcalaautoradelamisma,anoseaserquese obtengapermisoexpresodelautor.Elautornopermite distribuirobrasderivadasaesta. Estanotanoeslalicenciacompletadelaobra,sino unatraduccindelanotaorientativadelalicencia originalcompleta(jurdicamentevlida).

También podría gustarte