O TCP está na camada TRANSPORT, camada 4. O HTTP está na camada APPLICATION, camada 7.
No modelo OSI, as camadas superiores (5-7) e as camadas inferiores (1-4) têm papéis específicos. Muitas vezes, as camadas superiores são combinadas em uma camada e, portanto, o modelo OSI se torna um TCP de 5 camadas modelo . As camadas inferiores fornecem conectividade e confiabilidade de rede. A camada superior fornece serviços de aplicativos para usuários e programas. Tudo o que você vê ou toca, como aplicativo ou desenvolvedor, está em algum lugar nas camadas superiores.
O que você está chamando de "programação de soquetes" não é diferente do que qualquer aplicativo precisa para se comunicar em uma rede. Um soquete não pode ser aberto a menos que um aplicativo da camada superior solicite que isso aconteça. Ele está solicitando que o sistema operacional crie um soquete de rede específico e envie ou receba dados. Portanto, até mesmo um aplicativo básico que você cria para enviar ou receber dados em um soquete é considerado um processo de camada superior.
É discutível se o seu aplicativo XML opera na Camada 5, 6 ou 7 porque realmente depende do que você faz com os dados de lá. A requisição para abrir um socket tecnicamente acontece na Layer 5 (Então o socket é aberto e mantido nas camadas inferiores). Mas, dependendo de quais dados você enviar ou receber, e o que você faz com esses dados, você começará a operar na Camada 6 ou 7. Devido a essa ambigüidade, é muito mais fácil combinar as camadas superiores em uma única camada, porque realmente faz pouca diferença do ponto de vista do aplicativo.