Definición: Protocolo de comunicacion bidireccional y persistente que permite intercambio de datos en tiempo real entre cliente y servidor sobre una unica conexion TCP.
— Fuente: NERVICO, Consultoría de Desarrollo de Producto
Que es WebSocket
WebSocket es un protocolo de comunicacion que establece un canal bidireccional y persistente entre un cliente (generalmente un navegador) y un servidor. A diferencia de HTTP, donde el cliente siempre inicia la comunicacion, WebSocket permite que ambas partes envien datos en cualquier momento sin necesidad de abrir nuevas conexiones. Se establece mediante un handshake HTTP inicial que luego se transforma en una conexion WebSocket permanente.
Como funciona
La conexion comienza con una peticion HTTP estándar que incluye una cabecera Upgrade: websocket. Si el servidor acepta, la conexion se eleva de HTTP a WebSocket y permanece abierta. A partir de ese momento, cliente y servidor intercambian mensajes (frames) de forma independiente. No hay overhead de cabeceras HTTP en cada mensaje, lo que reduce drasticamente la latencia. La conexion se mantiene viva hasta que cualquiera de las partes la cierra explicitamente.
Por que importa
Muchas aplicaciones modernas requieren actualizaciones en tiempo real: chats, dashboards de monitoreo, editores colaborativos, cotizaciones financieras. Con HTTP tradicional, la unica opcion es polling (consultar repetidamente al servidor), lo que genera trafico innecesario y latencia. WebSocket elimina ese problema proporcionando un canal siempre abierto donde los datos fluyen instantaneamente en ambas direcciones.
Ejemplo practico
Una herramienta de gestion de proyectos implementa un tablero Kanban colaborativo. Sin WebSocket, cada usuario necesitaria refrescar la pagina para ver los cambios de otros miembros del equipo. Con WebSocket, cuando un usuario mueve una tarjeta de columna, el servidor envia instantaneamente la actualizacion a todos los demas usuarios conectados. El movimiento aparece en las pantallas de todos en menos de 50 milisegundos.