Da quali componenti è composta una richiesta HTTP?
sobes.tech AI
Risposta dell'AI
La richiesta HTTP è composta dai seguenti componenti:
-
Linea di richiesta (Request Line): Definisce il tipo di richiesta e la risorsa. Consiste di:
- Metodo HTTP (HTTP Method): L'azione da eseguire sulla risorsa (ad esempio, GET, POST, PUT, DELETE).
- Percorso della risorsa (Path): L'URL della risorsa richiesta sul server.
- Versione HTTP (HTTP Version): La versione del protocollo HTTP usata per la richiesta (ad esempio, HTTP/1.1, HTTP/2.0).
// Esempio di linea di richiesta GET /index.html HTTP/1.1 -
Intestazioni della richiesta (Request Headers): Forniscono informazioni aggiuntive sul client, sulla richiesta o sulla risorsa. I parametri dell'intestazione sono presentati in formato "Nome: Valore". Intestazioni principali:
Host: Il nome di dominio del server.User-Agent: Informazioni sul client (browser, OS).Accept: Tipi di media che il client è disposto ad accettare.Content-Type: Tipo di media del contenuto del corpo della richiesta (per metodi PUT, POST).Content-Length: La lunghezza del corpo della richiesta in byte.Authorization: Credenziali per l'autenticazione.
// Esempi di intestazioni della richiesta Host: www.esempio.com User-Agent: Mozilla/5.0 Accept: text/html -
Linea vuota (Empty Line): Separa le intestazioni della richiesta dal corpo della richiesta. È obbligatoria, anche se il corpo è assente.
-
Corpo della richiesta (Request Body): Contiene i dati inviati al server, come dati di modulo, JSON per richieste POST/PUT. Non è presente in tutti i metodi (ad esempio, assente per GET).
// Esempio di corpo della richiesta (per POST/PUT) { "name": "John Doe", "age": 30 }
Schematicamente, la struttura di una richiesta HTTP può essere rappresentata così:
| Componente | Descrizione | Obbligatorietà |
|---|---|---|
| Linea di richiesta | Metodo, percorso risorsa, versione HTTP | Sempre |
| Intestazioni della richiesta | Informazioni aggiuntive sulla richiesta/cliente | Opzionale |
| Linea vuota | Separatore | Sempre |
| Corpo della richiesta | Dati inviati al server | Opzionale |