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:
-
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 -
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 -
Pusta linia (Empty Line): Oddziela nagłówki żądania od ciała żądania. Jest obowiązkowa, nawet jeśli ciało nie występuje.
-
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 |