Esta é provavelmente uma pergunta estúpida ...
Quando envio um formulário on-line para um servidor da Web, como o servidor sabe que sou eu quem deve retornar o resultado?
Acredito que tenha a ver com conexão http persistente, mas não sei por que acredito que esteja certo.
Obrigado
Responder1
Resposta curta, vem da conexão TCP que transporta os dados HTTP. Sites e navegadores modernos trabalham juntos usando tecnologias acima e abaixo do HTTP para aumentar a experiência do usuário.
O próprio HTTP é um protocolo da camada de aplicação, com verbos padrão como GET, POST, HEAD, etc. É importante entender que cada um desses verbos é "sem estado", pois cada verbo é solicitado ao servidor em completo isolamento de qualquer outro. solicitações de. Também é importante compreender que cada verbo implementa um emparelhamento solicitação-resposta, de modo que uma solicitação e sua resposta estejam intrinsecamente ligadas. Como tal, os manipuladores de protocolo do servidor web sempre rastrearão informações sobre a solicitação para que possam enviar a resposta.
Uma conexão TCP se apresenta a um aplicativo como um par de fluxos de E/S de e para o servidor. Depois que uma conexão TCP é estabelecida, os aplicativos apenas leem seu fluxo de entrada e gravam em seu fluxo de saída, portanto, não há nenhuma maneira (válida) de o aplicativo enviar a resposta para qualquer outra pessoa porque o fluxo de saída faz parte da sua conexão. Dê uma olhada na biblioteca Berkeley Sockets se estiver interessado em exemplos de como tudo isso funciona.
Espero que isso ajude. A maneira como tudo isso acontece é complicada e leva algum tempo para ser grocada. Basta lembrar que o próprio HTTP é um protocolo extremamente simples que possui um conjunto muito limitado de operações e, embora introduzamos recursos adicionais abaixo e acima do próprio HTTP, eles não fazem parte do HTTP.