Sobes.tech
Middle

Co się dzieje z żądaniem po jego wpisaniu w pasek adresu?

sobes.tech AI

Odpowiedź od AI

  1. Rozwiązanie nazwy domeny: Przeglądarka ustala adres IP serwera, korzystając z resolvera DNS (pamięć podręczna przeglądarki, pamięć podręczna systemu operacyjnego, plik hosts, serwery DNS).
  2. Ustanowienie połączenia TCP: Przeglądarka nawiązuje połączenie z serwerem za pomocą otrzymanego adresu IP i portu (zwykle 80 dla HTTP, 443 dla HTTPS).
  3. Wysyłanie żądania HTTP: Przeglądarka formuje i wysyła żądanie HTTP (GET, POST itp.), zawierające metodę, URL, nagłówki (np. User-Agent, Referer, Cookie) i ewentualnie ciało żądania (np. dla POST).
  4. Przetwarzanie żądania na serwerze: Serwer odbiera żądanie, serwer WWW (Apache, Nginx itp.) ustala obsługujący (np. PHP-FPM). Interpreter PHP uruchamia skrypt.
  5. Wykonanie skryptu PHP: Skrypt PHP obsługuje żądanie: łączy się z bazą danych, wykonuje logikę, generuje stronę HTML lub inne dane.
    // Przykład wykonania skryptu PHP na serwerze
    <?php
    
    // Połączenie z bazą danych
    $conn = new mysqli("localhost", "użytkownik", "hasło", "nazwa_bazy");
    
    // Sprawdzenie połączenia
    if ($conn->connect_error) {
        die("Błąd połączenia: " . $conn->connect_error);
    }
    
    // Wykonanie zapytania
    $sql = "SELECT * FROM użytkownicy WHERE id = 1";
    $result = $conn->query($sql);
    
    // Przetwarzanie wyników
    if ($result->num_rows > 0) {
        while($row = $result->fetch_assoc()) {
            echo "Cześć, " . $row["nazwa"];
        }
    } else {
        echo "Użytkownik nie znaleziony.";
    }
    
    // Zamknięcie połączenia
    $conn->close();
    ?>
    
  6. Tworzenie odpowiedzi HTTP: Skrypt PHP i serwer web tworzą odpowiedź HTTP, zawierającą kod statusu (np. 200 OK, 404 Nie znaleziono), nagłówki (Content-Type, Content-Length itp.) i ciało odpowiedzi (zwykle HTML).
  7. Wysyłanie odpowiedzi HTTP: Serwer wysyła odpowiedź HTTP z powrotem do przeglądarki przez ustanowione połączenie TCP.
  8. Odbiór i przetwarzanie odpowiedzi: Przeglądarka odbiera odpowiedź, analizuje nagłówki, określa typ zawartości i wyświetla stronę użytkownikowi, wykonuje skrypty (JavaScript), ładuje dodatkowe zasoby (CSS, obrazy).
  9. Zamknięcie połączenia TCP: Połączenie zwykle jest zamykane po otrzymaniu odpowiedzi, chyba że używane są mechanizmy utrzymania połączenia (keep-alive).