From 77b2d1b48bf18a01bf0f273f2d2066ad0f6a7aaf Mon Sep 17 00:00:00 2001 From: dado Date: Thu, 5 Jun 2025 21:21:04 +0200 Subject: [PATCH] minor changes e aggiunto paragrafo headers http response --- networking/023-http.md | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/networking/023-http.md b/networking/023-http.md index b9b8325..2c988aa 100644 --- a/networking/023-http.md +++ b/networking/023-http.md @@ -42,7 +42,7 @@ Gli header di una richiesta HTTP vengono utilizzati dal client per fornire al se Una risposta HTTP è il messaggio che un server invia a un client (come un browser o un'applicazione) dopo aver ricevuto e processato una richiesta HTTP. La struttura di una risposta HTTP è composta da quattro elementi principali: -- `Riga di stat`o, la prima riga della risposta che include la *versione del protocollo HTTP*, il *codice di stato* e la frase di stato descrittiva (ad esempio, *OK*) +- `Riga di stato`, la prima riga della risposta che include la *versione del protocollo HTTP*, il *codice di stato* e la frase di stato descrittiva (ad esempio, *OK*) - `Headers`: le righe successive contengono le intestazioni, organizzate come coppie chiave-valore. Queste intestazioni forniscono informazioni supplementari sulla risposta, quali il tipo di contenuto, la lunghezza del contenuto e altri metadati - `Riga vuota` che separa le intestazioni dal corpo della risposta. - `Body`: il corpo del messaggio, che contiene i dati effettivi della risposta @@ -61,6 +61,22 @@ I codici di stato HTTP sono numeri a tre cifre che il server invia al client per ![http-status-code](asset/img/http-status-code.png) +### Intestazione della Risposta HTTP + +Le intestazioni di risposta permettono al server di fornire al client (tipicamente un browser) informazioni aggiuntive sul messaggio restituito. Tra le più importanti: + +- `Content-Type`: specifica il tipo di contenuto della risposta, ad esempio `text/html`, `application/json`, ecc. +- `Content-Length`: indica la lunghezza del corpo della risposta, espressa in byte +- `Date`: riporta la data e l’ora (*timestamp*) in cui il messaggio è stato generato dal server +- `Server`: indica il software (e talvolta la versione) in uso sul server HTTP +- `Set-Cookie`: invia uno o più cookie al client, che potrà conservarli e ritrasmetterli nelle richieste successive per gestire sessioni, preferenze o tracciamento dell’utente. +- `Cache-Control`: fornisce direttive su come il client (o eventuali proxy intermedi) deve memorizzare nella cache la risposta +- `Expires`: definisce una data/ora oltre la quale la risposta è considerata scaduta e non più valida in cache +- `Last-Modified`: specifica il timestamp dell’ultima modifica della risorsa richiesta +- `ETag`: un identificatore univoco (e solitamente in forma di hash) della versione corrente della risorsa. Consente al client di effettuare richieste condizionali (`If-None-Match`) per verificare se la risorsa è cambiata +- `Location`: utilizzata nei codici di stato *3xx* per indicare al client l’URL di destinazione a cui effettuare il reindirizzamento +- `Allow`: elenca i metodi HTTP che il server supporta per la risorsa richiesta + ## Metodi HTTP I metodi HTTP indicano al server l'azione da eseguire su una risorsa. I principali metodi: