1) What are Web Sockets
Its a new protocol implemented over tcp/ip to support duplex communications over the web.
2) How is it diffrent from HTTP
a) Http is stateless WebSockets are statefull, meaning you don’t have to identify your self always for every request.
b)With Http your server cannot send data to a client, without the client asking for it (you can achieve this with Long Polling and Polling only which are not out of the box and are not pure duplex), with Web Sockets this is out of the box and is pure duplex communication and also you can reuse the same connection.
3) Http-Keep Alive
Yes you can keep an HTTP connection open, but this is still not sufficient enough because your HTTP server cannot send data on its own with out the client asking for it.
4) What is NetHttpBinding
Its a Microsoft’s implementation of Web Sockets and its supported in Framework 4.5