WebSocket - Funzionalità
Web Socket rappresenta un importante aggiornamento nella storia delle comunicazioni web. Prima della sua esistenza, tutte le comunicazioni tra i client Web e i server si basavano solo su HTTP.
Web Socket aiuta nel flusso dinamico delle connessioni che sono full duplex persistenti. Full duplex si riferisce alla comunicazione da entrambe le estremità con notevole velocità.
È definito come un punto di svolta per la sua efficienza nel superare tutti gli svantaggi dei protocolli esistenti.
Web Socket per sviluppatori e architetti
Importanza di Web Socket per sviluppatori e architetti -
Web Socket è un protocollo indipendente basato su TCP, ma è progettato per supportare qualsiasi altro protocollo che tradizionalmente verrebbe eseguito solo su una connessione TCP pura.
Web Socket è un livello di trasporto su cui può essere eseguito qualsiasi altro protocollo. L'API Web Socket supporta la capacità di definire sotto-protocolli: librerie di protocolli in grado di interpretare protocolli specifici.
Esempi di tali protocolli includono XMPP, STOMP e AMQP. Gli sviluppatori non devono più pensare in termini di paradigma di richiesta-risposta HTTP.
L'unico requisito sul lato browser è quello di eseguire una libreria JavaScript in grado di interpretare l'handshake Web Socket, stabilire e mantenere una connessione Web Socket.
Sul lato server, lo standard del settore prevede l'utilizzo di librerie di protocolli esistenti che vengono eseguite su TCP e sfruttano un Web Socket Gateway.
Il diagramma seguente descrive le funzionalità di Web Sockets:
Le connessioni Web Socket vengono avviate tramite HTTP; I server HTTP in genere interpretano gli handshake Web Socket come una richiesta di aggiornamento.
I Web Socket possono essere sia un componente aggiuntivo complementare a un ambiente HTTP esistente e possono fornire l'infrastruttura richiesta per aggiungere funzionalità web. Si basa su protocolli full duplex più avanzati che consentono ai dati di fluire in entrambe le direzioni tra client e server.
Funzioni dei Web Socket
I Web Socket forniscono una connessione tra il server Web e un client in modo che entrambe le parti possano iniziare a inviare i dati.
I passaggi per stabilire la connessione di Web Socket sono i seguenti:
Il client stabilisce una connessione tramite un processo noto come handshake Web Socket.
Il processo inizia con il client che invia una normale richiesta HTTP al server.
È richiesta un'intestazione di aggiornamento. In questa richiesta, informa il server che la richiesta è per la connessione Web Socket.
Gli URL Web Socket utilizzano l'estensione wsschema. Vengono anche utilizzati per connessioni Web Socket protette, che sono equivalenti a HTTP.
Un semplice esempio di intestazioni della richiesta iniziale è il seguente:
GET ws://websocket.example.com/ HTTP/1.1
Origin: http://example.com
Connection: Upgrade
Host: websocket.example.com
Upgrade: websocket