Sobes.tech
Junior

Como pode um cliente perceber que os dados do servidor foram enviados ao navegador?

sobes.tech IA

Resposta da IA

O navegador do cliente entende que os dados do servidor foram enviados pelos seguintes sinais:

  1. Código de estado HTTP: Receção de uma resposta com um código de estado HTTP bem-sucedido (por exemplo, 200 OK).
  2. Cabeçalhos HTTP: Presença e análise dos cabeçalhos Content-Length (que indica o tamanho do corpo da resposta) ou Transfer-Encoding: chunked (para transmissão de dados em streaming).
  3. Corpo da resposta: Receção do corpo da resposta HTTP, contendo os dados solicitados (HTML, JSON, imagens, etc.).
  4. Eventos do DOM: No caso de pedidos AJAX (por exemplo, usando XMLHttpRequest ou Fetch API), a ativação dos eventos correspondentes (onload, onreadystatechange com readyState == 4 e status == 200).
  5. Estado da ligação de rede: Fecho da ligação TCP após receber todos os dados (se não for usada uma ligação persistente).

Exemplo de uso de XMLHttpRequest:

// Exemplo de manipulação de receção de dados em JavaScript
const xhr = new XMLHttpRequest();
xhr.open('GET', '/api/data', true);

xhr.onload = function() {
  if (xhr.status === 200) {
    // Dados recebidos e processados com sucesso
    console.log('Dados recebidos:', xhr.responseText);
  } else {
    // Ocorreu um erro
    console.error('Erro ao obter dados:', xhr.statusText);
  }
};

xhr.onerror = function() {
  // Erro de rede
  console.error('Erro de rede');
};

xhr.send();