O TCP é um protocolo de fluxo genérico para entrega de dados confiável em ordem entre dois pontos de extremidade em uma rede IP como a Internet.
HTTP é um protocolo que é executado em cima do TCP. Outros protocolos que usam TCP são FTP, SSH, SSL, etc.
As funções que você descreveu são para lidar com conexões TCP em geral.
Você deve ler o link para aprender o protocolo HTTP.
Uma breve visão geral de como uma solicitação HTTP é feita. Este exemplo é baseado no HTTP 1.0, já que é mais simples.
Quando você informa a um navegador para se conectar ao link , isso é o que acontece em segundo plano:
- O navegador faz uma pesquisa de DNS para
superuser.com
para descobrir o endereço IP do serviço. - O navegador abre uma conexão TCP com o servidor para
superuser.com
- O navegador envia
GET /
solicitação HTTP para o servidor. - O servidor envia de volta o arquivo correspondente à localização
/
.
Portanto, o servidor não precisará saber nada sobre o esquema de URI aqui. O servidor precisa apenas entender as primitivas do protocolo HTTP (GET, POST, HEAD etc.) e retornar os recursos correspondentes para o cliente através do soquete TCP.