Sobes.tech
Middle

Co se děje s požadavkem po jeho zadání do adresního řádku?

sobes.tech AI

Odpověď od AI

  1. Řešení doménového jména: Prohlížeč určuje IP adresu serveru pomocí DNS resolveru (cache prohlížeče, cache OS, soubor hosts, DNS servery).
  2. Navázání TCP spojení: Prohlížeč naváže spojení se serverem pomocí získané IP adresy a portu (obvykle 80 pro HTTP, 443 pro HTTPS).
  3. Odeslání HTTP požadavku: Prohlížeč sestaví a odešle HTTP požadavek (GET, POST atd.), který obsahuje metodu, URL, hlavičky (např. User-Agent, Referer, Cookie) a případně tělo požadavku (např. pro POST).
  4. Zpracování požadavku na serveru: Server přijme požadavek, webový server (Apache, Nginx atd.) určí zpracovatele (např. PHP-FPM). PHP interpretér spustí skript.
  5. Provedení PHP skriptu: PHP skript zpracovává požadavek: připojuje se k databázi, provádí logiku, generuje HTML stránku nebo jiné data.
    // Příklad spuštění PHP skriptu na serveru
    <?php
    
    // Připojení k databázi
    $conn = new mysqli("localhost", "uživatel", "heslo", "databáze");
    
    // Kontrola připojení
    if ($conn->connect_error) {
        die("Chyba připojení: " . $conn->connect_error);
    }
    
    // Spuštění dotazu
    $sql = "SELECT * FROM uživatelé WHERE id = 1";
    $result = $conn->query($sql);
    
    // Zpracování výsledků
    if ($result->num_rows > 0) {
        while($row = $result->fetch_assoc()) {
            echo "Ahoj, " . $row["jméno"];
        }
    } else {
        echo "Uživatel nenalezen.";
    }
    
    // Uzavření spojení
    $conn->close();
    ?>
    
  6. Sestavení HTTP odpovědi: PHP skript a webový server sestaví HTTP odpověď, která obsahuje stavový kód (např. 200 OK, 404 Nenalezeno), hlavičky (Content-Type, Content-Length atd.) a tělo odpovědi (obvykle HTML).
  7. Odeslání HTTP odpovědi: Server odešle HTTP odpověď zpět prohlížeči přes navázané TCP spojení.
  8. Přijetí a zpracování odpovědi: Prohlížeč přijme odpověď, analyzuje hlavičky, určí typ obsahu a zobrazí stránku uživateli, provádí skripty (JavaScript), načítá další zdroje (CSS, obrázky).
  9. Ukončení TCP spojení: Spojení se obvykle uzavře po obdržení odpovědi, pokud nejsou používány mechanismy udržování spojení (keep-alive).