Middle
Co se děje s požadavkem po jeho zadání do adresního řádku?
sobes.tech AI
Odpověď od AI
- Ř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).
- 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).
- 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).
- 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.
- 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(); ?> - 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).
- Odeslání HTTP odpovědi: Server odešle HTTP odpověď zpět prohlížeči přes navázané TCP spojení.
- 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).
- 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).