Junior — Middle
Z jakich komponent składa się żądanie HTTP i jak one ze sobą współdziałają?
sobes.tech AI
Odpowiedź od AI
Żądanie HTTP składa się z kilku głównych elementów:
-
Linia żądania (Request Line) — zawiera metodę żądania (GET, POST itp.), URL i wersję protokołu HTTP.
-
Nagłówki (Headers) — zestaw par klucz-wartość, które przekazują informacje meta o żądaniu, np.
Content-Type,Authorization,User-Agent. -
Treść żądania (Body) — opcjonalna część zawierająca dane wysyłane przez klienta do serwera (np. dane formularza lub JSON w POST).
-
Pusta linia — oddziela nagłówki od treści.
Interakcja komponentów:
- Klient tworzy linię żądania z potrzebną metodą i URL.
- Dodaje niezbędne nagłówki do opisania żądania.
- W razie potrzeby dodaje treść z danymi.
- Wysyła żądanie do serwera.
Przykład żądania HTTP:
POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/json
Authorization: Bearer token123
{"name": "John", "age": 30}
W Node.js do obsługi żądań HTTP używa się obiektów IncomingMessage (dla żądania) i ServerResponse (dla odpowiedzi), które umożliwiają odczytanie linii żądania, nagłówków i treści żądania.