El nuevo componente en HTML5 ya está aquí. Los WebSockets permiten trabajar de manera bidireccional entre el navegador y el servidor manteniendo una conexión activa mediante Sockets TCP.

A continuación, explicaremos para qué sirven los WebSockets y compartiremos una breve descripción de su funcionamiento. Si te interesa el entorno web, cursando el ciclo formativo de grado superior de Desarrollo de Aplicaciones Web aprenderás a desarrollar, implantar y mantener aplicaciones web orientadas a los macrodatos (big data).

¿Qué son los WebSockets?

Los WebSockets sirven para realizar conexiones de manera persistente entre el navegador del usuario y el servidor. Además de permitir construir sitios web rápidamente, también son fáciles de entender y razonar cuando se escribe en código.

Al utilizar internet mediante un navegador, básicamente se está haciendo una conexión entre dos ordenadores. Para que tu ordenador pueda obtener la información que quiere, tiene que conectarse a un servidor.

Los WebSockets comparten datos rápidamente y solo necesitan crear la conexión —también llamada conexión persistente una vez. Por lo tanto, son particularmente útiles si tenemos que obtener datos de manera constante, ya que así evitamos que el servidor tenga que procesar un gran número de peticiones innecesarias.

¿Cómo funcionan los WebSockets?

Para tener una conexión activa y bidireccional entre el servidor y el navegador, es necesario contar con los siguientes elementos:

  • WebSocket del cliente, que en este caso es el navegador. Es quien establece la conexión inicial con el servidor.
  • WebSocket del servidor, que acepta las conexiones e inicia el intercambio de mensajes.

La conexión entre ambos se mantiene activa mientras la pestaña del navegador continúe abierta, y tanto el cliente como el servidor pueden cerrar la conexión en cualquier momento.

A pesar de constituir una de las mejoras agregadas en HTML5 en lo referente al cliente, para poder establecer la conexión y gestionar el envío y la recepción de mensajes es necesario programar los WebSockets con JavaScript.