21
Hacia la web asíncrona Hacia la web asíncrona.

Hacia La Web Sincrona

Embed Size (px)

Citation preview

Page 1: Hacia La Web Sincrona

Hacia la web asíncrona

Hacia la web asíncrona.

Page 2: Hacia La Web Sincrona

Hacia la web asíncrona

¿Qué es Internet?

Es una enorme red, que une diferentes redes independientes utilizando el protocolo TCP/IP.

Son un montón de máquinas con direcciones IP, que pueden interconectarse entre ellas.

Internet no depende de una única organización, empresa o gobierno.

Muchas organizaciones y empresas “juntas” diseñan los estándares.

Los gobiernos y empresas tienen las infraestructuras (cables submarinos, satélites...)

Page 3: Hacia La Web Sincrona

Hacia la web asíncrona

Términos de Internet

RFC: Request for CommentsEspecificaciones que comenzaron a escribirse en 1969,

proporcionando así una manera de proponer protocolos, explicados de tal manera que no dieran lugar a ambigüedades.

SGML: Standard Generalized Markup LanguageEstandarizado en 1986 por ISO, especifica un sistema para la

organización y etiquetado de documentos.

Page 4: Hacia La Web Sincrona

Hacia la web asíncrona

Organizaciones en Internet

W3C: World Wide Web ConsortiumConsorcion Internacional creado en 1994 por Tim Berners-Lee,

que publica las recomendaciones a seguir para la WWW.

IEFT: Internet Engineering Task ForceOrganización Internacional Abierta de Normalización, creada en

EEUU en 1986, y que abarca áreas como el transporte, la seguridad y el encaminamiento.

ECMA: European Computer Manufactures AssociationAsociación Internacional de fabricantes de computadoras, que

persiguen crear estándares en comunicación e información.

Page 5: Hacia La Web Sincrona

Hacia la web asíncrona

Historia de Internet (1)

Comenzó a finales de los 50, como un proyecto experimental de ARPA (La Agencia de investigación avanzada de proyectos del Departamento de Defensa)1968 – Primeras conexiones con universidades (UCLA, Standford...)1973 – Xerox inventa el cable Ethernet1974 – Se comienzan a diseñar los primeros protocolos independientes de la topología de red.1974 – El primer borrador de TCP.

Page 6: Hacia La Web Sincrona

Hacia la web asíncrona

Historia de Internet (2)

1981 – Nace el término Internet1982 – ISO libera OSI (modelo de comunicación 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)

Page 7: Hacia La Web Sincrona

Hacia la web asíncrona

HTTP

Protolo de transporte a nivel de aplicación utilizado en cada petición web.

HTTP se basa en una serie de RFC, siendo el más importante el RFC 2616, que especifica HTTP 1.1

Protocolo orientado a transacciones, que se basa en un esquema petición-respuesta de un cliente(navegador) hacia un servidor (apache?).

HTTP es un protocolo sin estado: No se guarda información de conexiones anteriores.

Page 8: Hacia La Web Sincrona

Hacia la web asíncrona

HTTP 1.1 – REQUESTS (peticiones)

Existen unos cuantos métodos de petición en HTTP 1.1, siendo los más importantes GET, POST o HEAD.

Ejemplo de petición HTTP:GET / HTTP/1.1Host: www.google.esUser­Agent: Mozilla/5.0 (X11; U; Linux i686; es­ES; rv:1.9.0.11) Gecko/2009060308 Ubuntu/9.04 (jaunty) Firefox/3.0.11Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept­Language: en­us,en;q=0.7,es;q=0.3Accept­Encoding: gzip,deflateAccept­Charset: ISO­8859­1,utf­8;q=0.7,*;q=0.7Cookie: PREF=ID=134e9ba9c956a28f:TM=1247645018:LM=1247645018:S=9sHtNuO_unBFgLVV\n

Page 9: Hacia La Web Sincrona

Hacia la web asíncrona

HTTP 1.1: RESPONSE (respuestas) (1)

Las respuestas del servidor están basadas en códigos de respuesta:

1xx – Conexión rechazada2xx – Operación exitosa3xx – Redirección4xx – Error en el cliente5xx – Error en el servidor

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

Page 10: Hacia La Web Sincrona

Hacia la web asíncrona

HTTP 1.1: RESPONSE (respuestas) (2)

Ejemplo de respuesta HTTP:HTTP/1.x 200 OKCache­Control: private, max­age=0Date: Wed, 15 Jul 2009 08:14:16 GMTExpires: ­1Content­Type: text/html; charset=UTF­8Content­Encoding: gzipServer: gwsContent­Length: 2867\n<html>Etc, etc, etc ...

Page 11: Hacia La Web Sincrona

Hacia la web asíncrona

HTML

Publicado por Tim Berners-Lee en 1991, con el nombre HTML Tags.Incluía etiquetas de listas(ul), glosarios(dt,dl), encabezados(h1,h2)

o enlaces (a) entre otras que todavía se conservan.

En 1993, la IETF lo reconoció como una ampliación de SGML, definiendo el primer DTD para HTML.

HTML ha evolucionado hasta xHTML (eXtensible HyperText Markup Language): una implementación de HTML, siguiendo las pautas más estrictas de XML.

Page 12: Hacia La Web Sincrona

Hacia la web asíncrona

Navegadores Web

Mosaic: Primer navegador web usado “masivamente”.- Segundo navegador gráfico, primero en MSWindows.- Creado en 1993.

Internet Explorer: Navegador desarrollado por MS Windows, cuya primera versión se publicó en agosto de 1995.

Netscape: Primer navegador en introducir scripting introducido en los documentos HTML. Diciembre de 1995.

Page 13: Hacia La Web Sincrona

Hacia la web asíncrona

Javascript

Lenguaje interpretado (no compilado), inventado por Brendan Eich, e introducido en la versión 1.0 de Netscape Communications.

Básicamente dotaba de lógica de programación a los documentos HTML (estáticos hasta entonces).

En 1997 fue adoptado como estándar ECMA.Actualmente está soportado por todos los navegadores, y

se encuentra en la versión 1.8Ha sido el protagonista “técnico” detrás del BOOM 2.0Hoy por hoy es junto a la tecnología ShockWave Flash, el

protagonista de la web que conocemos.

Page 14: Hacia La Web Sincrona

Hacia la web asíncrona

SWF: Flash

Formato de archivo basado en gráficos 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 además de soportar audio y video, implementa un gran número de funcionalidades que han facilitado mucho la creación de aplicaciones muy potentes en Internet.

Page 15: Hacia La Web Sincrona

Hacia la web asíncrona

Web síncrona

A pesar de todo, la web sigue basándose 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 basándonos en eventos y peticiones que nacen en el cliente.

Las aplicaciones web están cada vez más de moda:Procesadores de texto, clientes de correo, mapas navegables,

ERPs, CRMs, Administración de router...

TODO ES WEB... y la web es síncrona.

Page 16: Hacia La Web Sincrona

Hacia la web asíncrona

Políticas 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”.

Solución: Preguntemos al servidor cada cierto tiempo (1 segundo, 500 ms), si algo ha cambiado, y lo cambiamos en el DOM.

Los servidores web no están preparados para esto...¿Alternativas?

Page 17: Hacia La Web Sincrona

Hacia la web asíncrona

Flash Shared Objects

Flash tiene la tecnología para crear objetos compartidos en swfs.

Tiene su propio servidor (Flash Media Server), su propia capa de transporte (AMF) y su propio protocolo de comunicación (RTMP).

Básicamente se comparten estructuras entre varios clientes y un servidor, que se actualizan en tiempo real.

Se evitan políticas de pooling, aunque estamos utilizando un elemento que no está soportado por los navegadores directamente.

Page 18: Hacia La Web Sincrona

Hacia la web asíncrona

Comet

Técnica de programación web basado en XMLHttpRequest, que evita el pooling para la actualización de datos en el lado del cliente.

Utilizando lo que se conoce como long-pooling.Básicamente consiste en mantener abierta y viva la

conexión HTTP, esperando a que el servidor envíe datos.

En cada envío de datos la conexión deberá ser renovada.El cliente realiza las peticiones utilizando otra conexión

paralela.Rendimiento muy bajo para sitios con mucho ancho de

banda.

Page 19: Hacia La Web Sincrona

Hacia la web asíncrona

HTML 5: WebSocket

HTML5 es la quinta revisión de HTML en la que trabaja el W3C.

Una de las principales características de HTML5 es la introducción del concepto de WebSocket.

Proporciona una interfaz en Javascript para crear un canal de comunicación full-duplex.miWebSocket.onopen = function(e) {alert(“conectado.”);};miWebSocket.onmessage = function(e) {alert(e.data);};miWebSocket.postMessage(“hola servidor!”);miWebSocket.disconnect();

Sencillo, limpio, y sin hacks innecesarios :)

Page 20: Hacia La Web Sincrona

Hacia la web asíncrona

Licencia Copyleft

Copyright

Page 21: Hacia La Web Sincrona

Hacia la web asíncrona

Licencia Copyleft

Este documento está protegido bajo la licencia Reconocimiento-SinObraDerivada 2.1 España de Creative Common (http://creativecommons.org/licenses/by-nd/2.1/es/)

Javier Infante ([email protected])

Copyright © 2007 Irontec <[email protected]>

Se permite la copia, modificación, distribución, usocomercial y realización de la obra, siempre y cuando sereconozca la autoría de la misma, a no sea ser que seobtenga permiso expreso del autor. El autor no permitedistribuir obras derivadas a esta.

Esta nota no es la licencia completa de la obra, sinouna traducción de la nota orientativa de la licenciaoriginal completa (jurídicamente válida).