Como é que XMLHttpRequest saber quando invocar o seu retorno?
-
22-07-2019 - |
Pergunta
Pelo que eu entendo, se o código javascript do lado do cliente usa o XMLHttpRequest para fazer um pedido POST, ele aguarda uma resposta e quando ele completa ela muda seu estado pronto para ReadyState.Complete e invoca a função de retorno de chamada.
A minha pergunta é: Como é determinar que a resposta está completa? Ele retorna o conteúdo do primeiro pacote TCP fica? Ou será que o servidor fechar a conexão TCP, portanto, concluir a transação? Ou há algo especial no conteúdo de pacotes TCP que diz ao objeto XMLHttpRequest que a resposta está completa?
Solução
Ele quer aguarda o servidor para fechar a sua ligação, ou ele espera até que seja ler um número de bytes da resposta igual ao cabeçalho Content-Length na resposta.
Outras dicas
Segue-se HTTP spec. Resposta deve ter o Content-Length
ou conteúdo uso chunked
codificação. Em HTTP / 1.0 conexão de fechamento é uma opção também.