WebSockets Guide: Handshakes, Frames & Load Balancing