Elige tu idioma
Curso de Protocolo WebSockets
Más de 2 millones de estudiantes en todo el mundo

Curso de Protocolo WebSockets

Ve más allá del HTTP básico y crea las aplicaciones web en tiempo real que demandan los usuarios modernos. Este curso te lleva desde los fundamentos de WebSocket hasta el despliegue en producción, el endurecimiento de la seguridad y el escalado horizontal. Tanto si estás añadiendo chat en vivo, edición colaborativa o paneles de control en directo, tendrás las competencias para lanzarlo correctamente.

Dedika para empresas

Lo que vas a aprender:

  • Implementa un servidor WebSocket completo en Node.js que maneje clientes concurrentes y difunda mensajes.

  • Configura la terminación TLS, proxies inversos y registro estructurado para despliegues de nivel de producción.

  • Protege los endpoints WebSocket utilizando autenticación JWT, autorización basada en roles y limitación de velocidad.

  • Escala servicios WebSocket a través de múltiples nodos con Redis pub/sub y estrategias de afinidad del balanceador de carga.

  • Aplica protocolos binarios, compresión permessage-deflate y agrupación de conexiones para reducir la latencia.

  • Diagnostica fallos reales de WebSocket utilizando DevTools del navegador, capturas de paquetes y análisis de registros del servidor.

Cómo estudias de forma práctica Curso de Protocolo WebSockets

Cómo practicas Curso de Protocolo WebSockets

Para ti que eres empresa y quieres formar a tu equipo

En Dedika para empresas, el curso incluye ejercicios y ejemplos adaptados a tu propio negocio y a las necesidades de tu empresa.

Haz clic aquí

Contenido del curso

8 Capítulos • 38 LeccionesDuración entre 4 y 360 horas (tú decides)

Capítulo 1Ver detalles

Fundamentos de la comunicación web

  • Lección 1 • Técnicas de sondeo y sondeo largo

    Demuestra cómo los desarrolladores simulan actualizaciones en tiempo real antes de que existieran los WebSockets. Destaca los costes de latencia y sobrecarga que los WebSockets eliminan.

  • Lección 2 • Casos de uso en tiempo real en aplicaciones modernas

    Examina el chat, los paneles en vivo, la edición colaborativa y los juegos como escenarios canónicos de tiempo real. Establece la motivación para adoptar un protocolo persistente y bidireccional.

  • Lección 3 • Cómo transfiere datos la web

    Cubre TCP/IP, la resolución DNS y el papel de los puertos en el tráfico web. Fundamenta todas las comparaciones posteriores de protocolos en un vocabulario de redes compartido.

  • Lección 4 • Modelo de petición-respuesta HTTP

    Examina los métodos HTTP, las cabeceras, los códigos de estado y la naturaleza sin estado de HTTP. Revela las limitaciones estructurales que motivan los WebSockets.

Capítulo 2Ver detalles

Arquitectura del protocolo WebSocket

  • Lección 1 • Gestión del ciclo de vida de la conexión

    Cubre los eventos de apertura, mensaje, error y cierre que definen la vida de una conexión. Prepara a los estudiantes para manejar cada estado correctamente en el código de la aplicación.

  • Lección 2 • Estructura de tramas y códigos de operación

    Desglosa el formato binario de la trama: bit FIN, bits RSV, código de operación, enmascaramiento y campos de longitud de carga útil. Permite a los estudiantes leer tráfico WebSocket sin procesar en un analizador de paquetes.

  • Lección 3 • El saludo WebSocket

    Rastrea la petición de actualización HTTP, la respuesta del servidor y la validación basada en clave que abre una conexión WebSocket. Conecta el conocimiento HTTP del Capítulo 1 con el cambio de protocolo.

  • Lección 4 • Subprotocolos y extensiones

    Explica cómo Sec-WebSocket-Protocol negocia los subprotocolos a nivel de aplicación y cómo extensiones como permessage-deflate añaden compresión. Amplía la flexibilidad del protocolo.

  • Lección 5 • Seguridad a nivel de protocolo

    Aborda el envoltorio TLS de wss://, la validación de origen y el enmascaramiento como defensa contra el envenenamiento de caché. Establece hábitos de seguridad antes de escribir cualquier código.

Capítulo 3Ver detalles

API WebSocket del navegador

  • Lección 1 • Manejo de eventos de conexión

    Asigna onopen, onmessage, onerror y onclose al ciclo de vida del protocolo del Capítulo 2. Los estudiantes escriben manejadores de eventos robustos que registran y reaccionan a cada estado.

  • Lección 2 • Creación de un objeto WebSocket

    Demuestra el constructor WebSocket, la sintaxis de la URL y el argumento opcional de subprotocolo. Conecta el conocimiento del protocolo con la sintaxis concreta de JavaScript.

  • Lección 3 • Datos binarios y binaryType

    Explica la propiedad binaryType y cuándo elegir arraybuffer frente a blob. Prepara a los estudiantes para los protocolos binarios utilizados en juegos y transmisión de medios.

  • Lección 4 • Envío y recepción de mensajes

    Cubre send() para datos de texto y binarios, y el manejador onmessage para las tramas entrantes. Los estudiantes implementan un cliente de eco mínimo al final de esta sección.

  • Lección 5 • Buffering y control de flujo

    Introduce bufferedAmount para evitar la acumulación excesiva de memoria al enviar más rápido de lo que la red vacía. Enseña un patrón de limitación de velocidad de envío para datos de alta frecuencia.

Capítulo 4Ver detalles

Construcción de un servidor WebSocket

  • Lección 1 • Integración con un servidor HTTP

    Adjunta el servidor WebSocket a un servidor HTTP o Express existente en el mismo puerto. Permite servir activos estáticos y tráfico WebSocket desde un único proceso.

  • Lección 2 • Manejo de conexiones de clientes

    Implementa el evento de conexión, la gestión de sockets por cliente y el enrutamiento de mensajes. Los estudiantes construyen un servidor que devuelve mensajes al cliente de origen.

  • Lección 3 • Configuración del entorno del servidor Node.js

    Configura un proyecto Node.js con la librería ws, scripts de package.json y variables de entorno. Establece el andamiaje del proyecto utilizado a lo largo del capítulo.

  • Lección 4 • Difusión a múltiples clientes

    Mantiene un registro de clientes y lo itera para enviar mensajes a todos los sockets conectados. Implementa una difusión de sala de chat como ejercicio concreto.

  • Lección 5 • Cierre ordenado y limpieza

    Maneja las señales SIGTERM y SIGINT para cerrar todos los sockets de forma limpia antes de que el proceso termine. Previene la pérdida de datos y las conexiones colgantes en despliegues de producción.

Capítulo 5Ver detalles

Autenticación y autorización

  • Lección 1 • Desafíos de autenticación en WebSockets

    Explica por qué la autenticación estándar con cookies y cabeceras se comporta de manera diferente durante la actualización WebSocket. Motiva los patrones de token en la URL y primer mensaje como soluciones prácticas.

  • Lección 2 • Autenticación de conexión basada en JWT

    Valida un Token Web JSON durante la petición de actualización HTTP antes de que se acepte el socket. Los estudiantes escriben un middleware del lado del servidor que rechaza los tokens no válidos con un cierre 401.

  • Lección 3 • Autorización de mensajes basada en roles

    Adjunta la identidad del usuario a cada objeto de socket y verifica los roles antes de procesar mensajes privilegiados. Previene la ejecución de comandos no autorizados después de establecer una conexión.

  • Lección 4 • Gestión de sesiones y caducidad

    Rastrea la caducidad del token y fuerza la desconexión cuando una sesión expira. Implementa un flujo de reautenticación basado en latidos para conexiones de larga duración.

Capítulo 6Ver detalles

Escalabilidad y distribución de carga

  • Lección 1 • Intermediarios de publicación/suscripción para mensajería entre nodos

    Integra un canal de publicación/suscripción de Redis para que los mensajes publicados en un nodo lleguen a los clientes de todos los nodos. Los estudiantes implementan un adaptador Redis para la función de difusión construida en el Capítulo 4.

  • Lección 2 • Desafíos de escalado únicos de WebSockets

    Contrasta el escalado HTTP sin estado con la naturaleza con estado de las conexiones de socket persistente. Identifica el problema de entrega de mensajes entre nodos como el desafío central.

  • Lección 3 • Sesiones fijas y balanceadores de carga

    Configura un balanceador de carga para enrutar a cada cliente de forma consistente al mismo nodo de servidor. Cubre las estrategias de afinidad basadas en cookies y hash de IP, y sus compromisos.

  • Lección 4 • Monitorización de métricas de conexión

    Instrumenta el servidor para exponer el número de conexiones activas, el rendimiento de transferencia de mensajes y las tasas de error. Introduce las métricas en un panel para detectar problemas de capacidad de forma temprana.

  • Lección 5 • Patrones de escalado horizontal

    Aplica conceptos de orquestación de contenedores para ejecutar múltiples réplicas de servidor WebSocket detrás de un intermediario compartido. Cubre las verificaciones de estado y los reinicios progresivos y ordenados.

Capítulo 7Ver detalles

Técnicas de optimización del rendimiento

  • Lección 1 • Protocolos binarios frente a texto

    Sustituye las tramas de texto JSON por MessagePack o Protocol Buffers para reducir el tamaño de la carga útil y el tiempo de análisis. Los estudiantes serializan y deserializan un objeto de dominio en ambos formatos.

  • Lección 2 • Estrategias de compresión de mensajes

    Habilita permessage-deflate y ajusta sus parámetros para equilibrar el coste de CPU frente al ahorro de ancho de banda. Compara cargas útiles comprimidas y sin comprimir bajo tráfico realista.

  • Lección 3 • Perfilado e identificación de cuellos de botella

    Utiliza las DevTools del navegador y los perfiladores del lado del servidor para localizar puntos críticos de CPU y memoria en el código WebSocket. Guía a los estudiantes a través de un flujo de trabajo de optimización estructurado.

  • Lección 4 • Agrupación de conexiones en el cliente

    Comparte una única conexión WebSocket entre múltiples componentes de la interfaz de usuario para evitar saludos redundantes. Implementa un gestor de conexión singleton con un registro de suscripciones.

  • Lección 5 • Agrupación y antirrebote de mensajes

    Agrega actualizaciones de alta frecuencia en tramas agrupadas para reducir la sobrecarga por mensaje. Implementa una cola de antirrebote que se vacía en un intervalo configurable.

Capítulo 8Ver detalles

Despliegue y operaciones en producción

  • Lección 1 • Latidos y tramas Ping/Pong

    Utiliza tramas ping/pong a nivel de protocolo y latidos a nivel de aplicación para detectar conexiones inactivas. Configura temporizadores del lado del servidor para cerrar automáticamente los sockets que no responden.

  • Lección 2 • Registro estructurado y rastreo

    Emite registros JSON estructurados para eventos de conexión, recuentos de mensajes y errores con un ID de correlación. Permite el rastreo distribuido a través de tramos WebSocket y HTTP.

  • Lección 3 • Patrones de reconexión y resiliencia

    Implementa la reconexión con retroceso exponencial en el cliente para sobrevivir a reinicios del servidor y caídas de red. Añade un componente de fluctuación para prevenir tormentas de reconexión por estampida.

  • Lección 4 • Alertas y respuesta a incidentes

    Define umbrales de alerta para la tasa de caída de conexiones, picos de error y percentiles de latencia. Recorre un manual de procedimientos para diagnosticar y recuperarse de una interrupción de WebSocket.

  • Lección 5 • Terminación TLS y proxies inversos

    Configura un proxy inverso para terminar TLS y reenviar el tráfico WebSocket al servidor de aplicaciones. Cubre las cabeceras de proxy requeridas y la configuración de tiempo de espera para conexiones de larga duración.

Certificación

Tu certificado válido de finalización

Este curso es para ti:

  • Desarrollador web junior: listo para superar los patrones estáticos de solicitud-respuesta.

  • Desarrollador freelance: los clientes solicitan funciones en vivo como chat o notificaciones.

  • Ingeniero backend: quiere dominar el stack completo de un servicio en tiempo real.

  • Estudiante de informática: conectando la teoría académica de redes con la implementación práctica.

  • Desarrollador front-end: harto de incorporar soluciones alternativas de sondeo en cada función interactiva.

  • Persona en cambio de carrera: tiene conocimientos básicos de JavaScript y quiere una especialización que destaque.

Lo que dicen nuestros alumnos

Sus clases son perfectas. Adquirí el paquete de un año y, finalmente, tengo la oportunidad de seguir diversos temas de mi interés sin necesidad de cambiar de plataforma... agradezco todo lo que hacéis, ya os he recomendado a otras personas...
Giulio Carlo
Giulio CarloAlumno de Marketing Digital
Me gusta cómo las lecciones van directas al grano y cómo puedo cambiar de capítulos y saltar contenidos que no necesito.
Mariana Ferres
Mariana FerresAlumna de Fotografía
Me gusta el contenido y la forma de presentación y transcripción de vídeos, ¡lo que acelera el proceso!
Luciana Alvarenga
Luciana AlvarengaAlumna de Diseño de Uñas
La plataforma es rápida, fácil de usar. La diversidad de contenido y los vídeos complementarios ayudan mucho en el aprendizaje.
André Felipe
André FelipeAlumno de Ingeniería de Prompts

Principales capacitaciones

Preguntas frecuentes

¿Quién es Dedika?

¿El certificado es válido en España?

¿Los cursos son gratuitos?

¿Cuál es la carga lectiva del curso?

¿Cómo son los cursos?

¿Cómo funcionan los cursos?

¿Cuál es la duración de los cursos?

¿Cuál es el coste o precio de los cursos?

¿Qué es un curso EAD u online y cómo funciona?

Curso en PDF