Websockets
WebSocket è un protocollo standard in grado di fornire una connessione persistente tra un server e un client. WebSockets sono bidirezionali, il che significa un server e un client e inviare e ricevere dati nello stesso canale, protocollo di comunicazione a tutto duplex implementato su TCP/IP Socket.
Websocket sono stati costruiti per contrastare i limiti del protocollo HTTP.
In primo luogo, nel protocollo HTTP, non è bidirezionale. Il client richiede una risorsa specifica sul server, una volta che il server trova e invia la risorsa al client, la connessione è chiusa. Ciò significa che per un flusso di dati molto attivo, come il servizio di streaming, ci saranno troppe richieste sul server.
A differenza di HTTP, WebSockets è in grado di mantenere una connessione fino a quando il client o il server non la terminano. Funziona prima creando una stretta di mano tra il client e il server, quindi seguito da un'intestazione di aggiornamento. Una volta stabilito, viene anche stabilito un flusso di dati tra il server e il client.
Il diagramma sopra illustra come funziona il protocollo HTTP rispetto ai websocket.
Nota: i diagrammi sopra non forniscono un funzionamento a tutti gli effetti di protocolli HTTP o WebSocket.