Middle
Čo sa deje s požiadavkou po jej zadaní do adresného riadku?
sobes.tech AI
Odpoveď od AI
- Domenové meno: Prehliadač určuje IP adresu servera pomocou DNS resolvera (cache prehliadača, cache OS, súbor hosts, DNS servery).
- Nastavenie TCP spojenia: Prehliadač nadviaže spojenie so serverom na základe získanej IP adresy a portu (zvyčajne 80 pre HTTP, 443 pre HTTPS).
- Odoslanie HTTP požiadavky: Prehliadač vytvorí a odošle HTTP požiadavku (GET, POST atď.), ktorá obsahuje metódu, URL, hlavičky (napríklad User-Agent, Referer, Cookie) a prípadne telo požiadavky (napríklad pre POST).
- Spracovanie požiadavky na serveri: Server prijme požiadavku, webový server (Apache, Nginx atď.) určí spracovateľa (napríklad PHP-FPM). PHP interpretátor spustí skript.
- Spustenie PHP skriptu: PHP skript spracuje požiadavku: pripojí sa k databáze, vykoná logiku, vygeneruje HTML stránku alebo iné dáta.
// Príklad spustenia PHP skriptu na serveri <?php // Pripojenie k databáze $conn = new mysqli("localhost", "user", "password", "dbname"); // Kontrola pripojenia if ($conn->connect_error) { die("Chyba pripojenia: " . $conn->connect_error); } // Vykonanie dotazu $sql = "SELECT * FROM users WHERE id = 1"; $result = $conn->query($sql); // Spracovanie výsledkov if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { echo "Ahoj, " . $row["name"]; } } else { echo "Používateľ nenajdený."; } // Uzavretie spojenia $conn->close(); ?> - Vytvorenie HTTP odpovede: PHP skript a webový server vytvoria HTTP odpoveď, ktorá obsahuje stavový kód (napríklad 200 OK, 404 Not Found), hlavičky (Content-Type, Content-Length atď.) a telo odpovede (zvyčajne HTML).
- Odoslanie HTTP odpovede: Server odošle HTTP odpoveď späť prehliadaču cez nadviazané TCP spojenie.
- Prijatie a spracovanie odpovede: Prehliadač prijme odpoveď, analyzuje hlavičky, určí typ obsahu a zobrazí stránku používateľovi, vykoná skripty (JavaScript), načíta ďalšie zdroje (CSS, obrázky).
- Ukončenie TCP spojenia: Spojenie sa zvyčajne zatvorí po obdržaní odpovede, ak nie sú použité mechanizmy udržiavania spojenia (keep-alive).