Websocket
es un protocolo de comunicación bidireccional y full-duplex que permite establecer una conexión persistente y en tiempo real entre un cliente (generalmente un navegador web) y un servidor. Definido inicialmente como parte del estándar HTML5 y estandarizado por la IETF en el RFC 6455, WebSockets permite una comunicación eficiente y de baja latencia, superando las limitaciones de los métodos tradicionales como HTTP polling o long polling.
Características principales:
-
Comunicación bidireccional y full-duplex:
- Tanto el cliente como el servidor pueden enviar datos en cualquier momento, lo que facilita interacciones en tiempo real sin necesidad de solicitudes periódicas desde el cliente.
-
Conexión persistente:
- Una vez establecida, la conexión se mantiene abierta hasta que es cerrada explícitamente por alguna de las partes, reduciendo la sobrecarga de establecer conexiones repetidas.
-
Reducción de latencia y sobrecarga:
- Al evitar la necesidad de encabezados HTTP en cada mensaje, WebSockets reduce la cantidad de datos transmitidos y mejora la eficiencia.
-
Basado en TCP:
- Utiliza el protocolo TCP para establecer conexiones fiables, asegurando la entrega de mensajes.
-
Seguridad:
- Soporta conexiones seguras mediante WebSockets Secure (wss://), que utiliza TLS/SSL para cifrar la comunicación.
-
Compatibilidad con proxies y cortafuegos:
- Diseñado para funcionar a través de proxies y cortafuegos que permiten tráfico HTTP/HTTPS, facilitando su adopción en entornos empresariales.
Recursos y documentación: