WebSocket
WebSocket is a standard protocol that enables a web browser or client application, and a web server application to use a full-duplex connection to communicate. The product supports the WebSocket 1.1 specification, which builds on the 1.0 specification to provide a more robust way of specifying message handlers.
HTTP is not designed for long-lived, real-time, full duplex communication between two applications. Très souvent, votre application de serveur Web ou votre servlet souhaite établir une conversation en duplex intégral, en temps réel et à long terme avec un navigateur ou une application client. Les deux applications souhaitent pouvoir échanger (lire et écrire) librement des données. C'est le cas par exemple pour une application qui affiche en continu des taux de change de devise qui changent constamment sur le navigateur Web d'un courtier en bourse. Les solutions techniques HTTP actuelles pour ce type de communication sont fastidieuses et inefficaces. Les solutions HTTP pour une communication bidirectionnelle constante entre un navigateur et un serveur sont essentiellement des mécanismes d'interrogation et/ou deux connexions HTTP ouvertes qui gèrent uniquement le trafic unidirectionnel.
WebSocket utilise une séquence demande-réponse HTTP standard pour établir une connexion. Lorsque la connexion est établie, l'API WebSocket fournit une interface de lecture et d'écriture permettant de lire et d'écrire des données via la connexion établie en mode duplex intégral asynchrone. WebSocket fournit également une interface pour la fermeture asynchrone de la connexion de chaque côté.
Etant donné que WebSocket utilise une séquence demande-réponse HTTP standard pour établir une connexion, l'ouverture de connexion se connecte via des pare-feu et des proxy de la même manière que dans une connexion HTTP. WebSocket a besoin d'une connexion en duplex intégral, notamment des lectures et des écritures sur la même connexion. Le plug-in du serveur Web prend en charge la communication en duplex intégral, mais vous pouvez être amené à modifier les autres pare-feu et proxy pour que cette prise en charge soit possible. WebSocket peut aussi utiliser SSL pour la connexion sécurisée et la transmission de données. Ce protocole utilise SSL de la même manière que le protocole HTTP utilise SSL.