Sobes.tech
Junior

Jak klient może zrozumieć, że dane z serwera zostały wysłane do przeglądarki?

sobes.tech AI

Odpowiedź od AI

Przeglądarka klienta rozumie, że dane z serwera zostały wysłane na podstawie następujących oznak:

  1. Kod statusu HTTP: Otrzymanie odpowiedzi z pomyślnym kodem statusu HTTP (np. 200 OK).
  2. Nagłówki HTTP: Obecność i analiza nagłówków Content-Length (wskazuje rozmiar ciała odpowiedzi) lub Transfer-Encoding: chunked (do przesyłania strumieniowego danych).
  3. Treść odpowiedzi: Otrzymanie ciała odpowiedzi HTTP zawierającego żądane dane (HTML, JSON, obrazy itp.).
  4. Wydarzenia DOM: W przypadku żądań AJAX (np. z użyciem XMLHttpRequest lub Fetch API), wywołanie odpowiednich zdarzeń (onload, onreadystatechange z readyState == 4 i status == 200).
  5. Stan połączenia sieciowego: Zamknięcie połączenia TCP po otrzymaniu wszystkich danych (jeśli nie używa się połączenia trwałego).

Przykład użycia XMLHttpRequest:

// Przykład obsługi odbioru danych w JavaScript
const xhr = new XMLHttpRequest();
xhr.open('GET', '/api/data', true);

xhr.onload = function() {
  if (xhr.status === 200) {
    // Dane pomyślnie odebrane i przetworzone
    console.log('Odebrane dane:', xhr.responseText);
  } else {
    // Wystąpił błąd
    console.error('Błąd podczas pobierania danych:', xhr.statusText);
  }
};

xhr.onerror = function() {
  // Błąd sieci
  console.error('Błąd sieci');
};

xhr.send();