Sobes.tech
Junior

Z jakich komponentów składa się żądanie HTTP?

sobes.tech AI

Odpowiedź od AI

Żądanie HTTP składa się z następujących elementów:

  1. Linia startowa (Request Line): Określa typ żądania i zasób. Składa się z:

    • Metoda HTTP (HTTP Method): Działanie, które ma zostać wykonane na zasobie (np. GET, POST, PUT, DELETE).
    • Ścieżka zasobu (Path): URL żądanego zasobu na serwerze.
    • Wersja HTTP (HTTP Version): Wersja protokołu HTTP używana do żądania (np. HTTP/1.1, HTTP/2.0).
    // Przykład linii startowej
    GET /index.html HTTP/1.1
    
  2. Nagłówki żądania (Request Headers): Dostarczają dodatkowe informacje o kliencie, żądaniu lub zasobie. Parametry nagłówków są przedstawione w formacie "Nazwa: Wartość". Główne nagłówki:

    • Host: Nazwa domeny serwera.
    • User-Agent: Informacje o kliencie (przeglądarka, OS).
    • Accept: Typy mediów, które klient jest gotów zaakceptować.
    • Content-Type: Typ mediów treści ciała żądania (dla metod PUT, POST).
    • Content-Length: Długość ciała żądania w bajtach.
    • Authorization: Dane uwierzytelniające.
    // Przykłady nagłówków żądania
    Host: www.przyklad.com
    User-Agent: Mozilla/5.0
    Accept: text/html
    
  3. Pusta linia (Empty Line): Oddziela nagłówki żądania od ciała żądania. Jest obowiązkowa, nawet jeśli ciało nie występuje.

  4. Ciało żądania (Request Body): Zawiera dane wysyłane do serwera, np. dane formularza, JSON dla żądań POST/PUT. Nie występuje we wszystkich metodach (np. nie dla GET).

    // Przykład ciała żądania (dla POST/PUT)
    {
      "name": "John Doe",
      "age": 30
    }
    

Schematycznie strukturę żądania HTTP można przedstawić tak:

Komponent Opis Obowiązkowe
Linia startowa Metoda, ścieżka zasobu, wersja HTTP Zawsze
Nagłówki żądania Dodatkowe informacje o żądaniu/kliencie Opcjonalne
Pusta linia Separator Zawsze
Ciało żądania Dane wysyłane do serwera Opcjonalne