Sobes.tech
Junior — Middle

Di quali componenti è composta una richiesta HTTP e come interagiscono?

sobes.tech AI

Risposta dell'AI

Una richiesta HTTP è composta da diversi componenti principali:

  1. Linea di richiesta (Request Line) — contiene il metodo della richiesta (GET, POST, ecc.), l'URL e la versione del protocollo HTTP.

  2. Intestazioni (Headers) — un insieme di coppie chiave-valore che trasmettono metadati sulla richiesta, ad esempio Content-Type, Authorization, User-Agent.

  3. 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).

  4. 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.