Sobes.tech
Junior — Middle

Jak działa proces obsługi żądania HTTP w przeglądarce i co się dzieje po stronie klienta i serwera?

sobes.tech AI

Odpowiedź od AI

Gdy użytkownik wpisuje URL w przeglądarce i naciska Enter, następuje następujący proces:

  1. Klient (przeglądarka):

    • Rozwiązuje nazwę domeny na adres IP za pomocą DNS.
    • Nawiązuje połączenie TCP z serwerem (zwykle na porcie 80 dla HTTP lub 443 dla HTTPS).
    • Wysyła żądanie HTTP (GET, POST itp.) do serwera.
  2. Serwer:

    • Odbiera i przetwarza żądanie (np. przez serwer WWW lub aplikację backendową).
    • Tworzy odpowiedź HTTP z potrzebnymi danymi (HTML, JSON, obrazy itp.).
    • Wysyła odpowiedź z powrotem do klienta.
  3. Klient:

    • Odbiera odpowiedź, przetwarza ją (np. renderuje HTML, wykonuje JavaScript).
    • Ładuje dodatkowe zasoby (CSS, JS, obrazy) w razie potrzeby.

Przykład w Go do obsługi żądania HTTP:

package main

import (
    "fmt"
    "net/http"
)

func handler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Cześć, zapytałeś: %s", r.URL.Path)
}

func main() {
    http.HandleFunc("/", handler)
    http.ListenAndServe(":8080", nil)
}

Ten kod uruchamia prosty serwer HTTP, który odpowiada na wszystkie żądania wiadomością zawierającą żądany ścieżkę.