Es más fácil comunicarse a través de sockets TCP cuando está trabajando dentro de un límite de intranet, ya que probablemente tenga control sobre las máquinas en esa red y pueda abrir puertos adecuados para realizar las conexiones TCP.
A través de Internet, se está comunicando con el servidor de otra persona en el otro extremo. Es extremadamente improbable que tenga algún socket antiguo abierto para las conexiones. Por lo general, solo tendrán unos pocos estándares, como el puerto 80 para HTTP o 443 para HTTPS. Por lo tanto, para comunicarse con el servidor, está obligado a conectarse mediante uno de esos puertos.
Dado que estos son puertos estándar para servidores web que generalmente hablan HTTP, por lo tanto, está obligado a cumplir con el protocolo HTTP; de lo contrario, el servidor no le hablará. El propósito de los sockets web es permitirle iniciar una conexión a través de HTTP, pero luego negociar el uso del protocolo de sockets web (suponiendo que el servidor sea capaz de hacerlo) para permitir un flujo de comunicación similar al "socket TCP".