Di quali componenti è composta una richiesta HTTP e come interagiscono?
sobes.tech AI
Risposta dell'AI
Una richiesta HTTP è composta da diversi componenti principali:
-
Linea di richiesta (Request Line) — contiene il metodo della richiesta (GET, POST, ecc.), l'URL e la versione del protocollo HTTP.
-
Intestazioni (Headers) — un insieme di coppie chiave-valore che trasmettono metadati sulla richiesta, ad esempio
Content-Type,Authorization,User-Agent. -
Corpo della richiesta (Body) — una parte opzionale che contiene i dati inviati dal client al server (ad esempio, dati di modulo o JSON in POST).
-
Linea vuota — separa le intestazioni dal corpo.
Interazione dei componenti:
- Il client forma la linea di richiesta con il metodo e l'URL necessari.
- Aggiunge le intestazioni necessarie per descrivere la richiesta.
- Se necessario, aggiunge il corpo con i dati.
- Invia la richiesta al server.
Esempio di richiesta HTTP:
POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/json
Authorization: Bearer token123
{"name": "John", "age": 30}
In Node.js, per gestire le richieste HTTP si utilizzano gli oggetti IncomingMessage (per la richiesta) e ServerResponse (per la risposta), che permettono di leggere la linea di richiesta, le intestazioni e il corpo della richiesta.