WebSocket
WebSocket is bidirectional, a full-duplex protocol operates over HTTP through a single TCP/IP connection. Unlike stateless HTTP in which the the connection request made by client get close after the server responds with data, it is stateful which means that when the connection get established between client and server. Then it don’t get terminated until and unless it get close by either of the end.
Websockets send data packets in similar fashion as UDP but with the reliability of TCP. In the initial stage of communication it uses HTTP and keeps the TCP connection alive even after the HTTP response is received. This feature makes it capable for real time applications like streaming, gaming and chat.