My understanding:1. legacy system2. http protocol is based on the socket, the difference is your don't have to deal with the fundamental issues of socket such as the timeout, package 
definition and packet parse(coz http do it for you). But it's not efficient enought compared with the packet communication based on the socket.3. From the security consideration, http protocol is tranparents to the client of the internet(and could be extended to https if needed). but in socket, you
will have firewall problem when try to access the server.