Middle
Co się dzieje z żądaniem po jego wpisaniu w pasek adresu?
sobes.tech AI
Odpowiedź od AI
- 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).
- 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).
- 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).
- Przetwarzanie żądania na serwerze: Serwer odbiera żądanie, serwer WWW (Apache, Nginx itp.) ustala obsługujący (np. PHP-FPM). Interpreter PHP uruchamia skrypt.
- 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(); ?> - 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).
- Wysyłanie odpowiedzi HTTP: Serwer wysyła odpowiedź HTTP z powrotem do przeglądarki przez ustanowione połączenie TCP.
- 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).
- Zamknięcie połączenia TCP: Połączenie zwykle jest zamykane po otrzymaniu odpowiedzi, chyba że używane są mechanizmy utrzymania połączenia (keep-alive).