diz que um cliente tem vários arquivos para postar em um servidor por meio do método HTTP Post, haverá duas chamadas de API. como não quero criar duas conexões TCP e quero reutilizar a conexão TCP, então uso o cabeçalho Http keep-alive para a primeira solicitação, agora só preciso de uma única conexão TCP estabelecida na primeira solicitação para enviar vários arquivos
Mas como o servidor distingue entre esses dois arquivos? Quando não usamos keep alive, o SO do cliente envia sinalizador EOF (fim do arquivo) para indicar ao servidor que a transmissão do arquivo foi concluída
abaixo está minha suposição, não tenho certeza se está correta:
Agora usamos keep-alive, para que um EOF no servidor não feche a conexão, então um segundo arquivo pode ser enviado pela mesma conexão e terminar com EOF. Mas como o cliente fecha a conexão TCP quando não deseja enviar mais nenhum arquivo? se o cliente enviar outro EOF, o servidor pode pensar que vai enviar outro arquivo?
a única coisa que consigo pensar é que, digamos que você tenha apenas 5 arquivos para enviar, na 5ª solicitação HTTP, você não envia o cabeçalho keep-alive, mas a 1ª, a 2ª, a 3ª e a 4ª solicitações precisam ser enviadas com cabeçalho keep-alive, meu entendimento está correto?