Websocket

Websocket

WebSocket est un standard du Web dont la spécification est en cours de définition désignant un protocole réseau[1] de la couche application et une interface de programmation du World Wide Web. Le protocole sera standardisé par l'IETF et l'interface de programmation par le W3C.

Sommaire

Le protocole WebSocket

Le protocole WebSocket vise à développer un canal de communication bidirectionnel et full-duplex sur un socket TCP pour les navigateurs et les serveurs web.

Le besoin d'une communication web bidirectionnelle, client / serveur

L'interactivité croissante des applications web, consécutive à l'amélioration des performances des navigateurs, a rapidement rendu nécessaire le développement de techniques de communications bidirectionnelles entre l'application web et les processus serveur. Des techniques basées sur l'appel par le client de l'objet XMLHttpRequest et utilisant des requêtes HTTP avec un long TTL stockées par le serveur pour une réponse ultérieure au client ont permis de pallier ce manque et ont été popularisées par le succès des architectures Ajax.

Le potentiel de la technologie

Le Websocket proposera à terme une implémentation native et unifiée dans les navigateurs et serveurs web d'un canal bidirectionnel permettant :

  • la notification au client d'un changement d'état du serveur
  • l'envoi de données en mode « pousser » du serveur vers le client (sans que ce dernier ait à effectuer une requête)

L'API WebSocket

L'interface de programmation WebSocket est une spécification en cours au sein du WHATWG[2] et sera publiée par le W3C une fois terminée.

Implémentations

  • GNU WebSocket4J, une implémentation du protocole WebSocket en Java.
  • Apache WebSocket module[3], une implémentation en Langage C sous la forme d'une extension pour le serveur httpd Apache (mod_websocket).
  • pywebsocket[4], une implémentation en Python sous la forme d'une extension pour le serveur httpd Apache (mod_pywebsocket).
  • jWebSocket, implémentation Java côté serveur et JavaScript/HTML5 côté client[5].
  • APE Project, support du protocole WebSocket (-hixie-75, -hixie-76, -hybi-ietf-06, -hybi-ietf-07)[6].
  • QtWebsocket, une implémentation d'un server WebSocket en C++ (le projet utilise Qt).
  • phpwebsocket, implémentation PHP côté serveur et PHP/HTML5 côté client[7].

Le protocole est par ailleurs en cours d'implémentation dans les navigateurs suivants : Firefox 4, Google Chrome 4 et Safari 5.

Polémique de sécurité

Une faille de sécurité a été découverte au sein de l'API, qui remet en cause la sécurité de la navigation en remplaçant lors de la phase de « handshake » un fichier JavaScript par un malware. Cette faille se situant au niveau de l'API elle-même et ne pouvant être corrigée par un quelconque correctif au sein du navigateur, Firefox 4, Opera 11 et Internet Explorer 9 ne supporteront pas WebSocket tant que la faille n'aura pas été comblée.

Mozilla et Opera ont annoncé que les versions 4 de Firefox et 11 d'Opera respectivement ne supporteraient pas WebSocket (cependant WebSocket pourrait être réimplanté dans Firefox 6 en attendant une révision de la norme)[8]. Apple et Google doivent encore se prononcer, tandis que Microsoft n’a rien à dire de particulier : le support de WebSocket n’est pas assuré par Internet Explorer 9[9].

Notes et références

  1. (en) Standard IETF en cours de développement.
  2. (en) Nouvelle plate-forme web dont l'API WebSocket en cours de développement parallèlement au nouveau standard HTML5.
  3. (en) Projet apache-websocket, logiciel libre sous Apache 2.0.
  4. (en) Projet pywebsocket, logiciel libre sous licence BSD modifiée.
  5. (en) Projet jWebSocket, logiciel libre distribué sous la licence publique générale limitée GNU.
  6. (en) APE Project, logiciel libre distribué sous la licence publique générale GNU.
  7. (en) Projet phpwebsocket, logiciel libre distribué sous la GNU GPL v3.
  8. Mozilla - 30 mai 2011
  9. PC INpact - 10 décembre 2010

Voir aussi

Articles connexes

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Websocket de Wikipédia en français (auteurs)

Игры ⚽ Нужно решить контрольную?

Regardez d'autres dictionnaires:

  • WebSocket — WebSocket  протокол полнодуплексной связи поверх TCP соединения, предназначенный для обмена сообщениями между браузером и веб сервером в режиме реального времени. В настоящее время в W3C осуществляется стандартизация API Web Sockets.… …   Википедия

  • WebSocket — es una tecnología que proporciona un canal de comunicación bidireccional y full duplex sobre un único socket TCP. Está diseñada para ser implementada en navegadores y servidores web, pero puede utilizarse por cualquier aplicación cliente/servidor …   Wikipedia Español

  • WebSocket — Das WebSocket Protokoll ist ein auf TCP basierendes Netzwerkprotokoll, das entworfen wurde, um eine bidirektionale Verbindung zwischen einer Webanwendung und einem WebSocket Server bzw. einem Web Server, der auch WebSockets unterstützt,… …   Deutsch Wikipedia

  • Comparison of WebSocket implementations — Contents 1 Comparison of WebSocket Implementations 1.1 Rationale 1.2 Table of WebSocket implementations 2 Notes …   Wikipedia

  • GNU WebSocket4J — Développeur Projet GNU Dernière version …   Wikipédia en Français

  • История браузера Opera — Основная статья: Opera История браузера Opera началась в 1994 году, прототипом будущего браузера стала разработка компании Televerket  крупнейшей телекоммуникационной компании Норвегии. В 1995 году проект выделился в разработку специально… …   Википедия

  • Comparison of layout engines (HTML5) — HTML HTML and HTML5 Dynamic HTML XHTML XHTML Mobile Profile and C HTML Canvas element Character encodings Document Object Model Font family HTML editor HTML element HTML Frames HTML5 video HTML scrip …   Wikipedia

  • History of Firefox — (category) Contents Firefox 10 · 11 · 12 Firefox 7 · 8 · 9 Firefox 4 · …   Wikipedia

  • Anexo:Historia de Mozilla Firefox — Contenido 1 Primeras versiones 1.1 Inicios 1.2 Nombramiento …   Wikipedia Español

  • Platform as a Service — Cloud Computing Architektur Platform as a Service (PaaS) ist die zur Verfügungstellung einer Computer Plattform in der Cloud für Webanwendungsentwickler. PaaS Angebote bieten eine schnell einsetzbare Laufzeitumgebung für Webanwendungen mit… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”