header http and URI

This commit is contained in:
dado
2025-06-03 21:39:48 +02:00
parent 04a7cc9dbf
commit c9ac815dff
2 changed files with 23 additions and 0 deletions

View File

@ -22,6 +22,22 @@ Una richiesta HTTP è strutturata in quattro macrosezioni:
![http-request](asset/img/http-request.png)
### Intestazione della Richiesta HTTP
Gli header di una richiesta HTTP vengono utilizzati dal client per fornire al server informazioni utili all'elaborazione della risposta. Alcuni dei principali campi utilizzati:
- `User-Agent`: specifica il tipo di client utilizzato per la richiesta, ad esempio il browser o l'applicazione
- `Accept`: indica quali tipi di contenuti il client è in grado di gestire. Ad esempio, l'header `Accept-Language` comunica le preferenze linguistiche del browser, permettendo al server di restituire contenuti nella lingua preferita
- `Connection`: Determina se la connessione TCP deve rimanere aperta o essere chiusa subito dopo la risposta. Il valore `keep-alive` serve a mantenere attiva la connessione
- `Host`: specifica l'host e la porta di destinazione della richiesta
- `Referrer`: indica il percorso o path da cui è partita la richiesta
- `Cookie`: invio dei cookie associati alla sessione o ad altre informazioni di identificazione, utili per mantenere lo stato della sessione utente e per personalizzare l'esperienza
- `Content-Type`: Specifica il tipo di contenuto che il client sta inviando nel corpo della richiesta, ad esempio `application/json` o `text/html`
- `Content-Length`: indica la dimensione, in byte, del contenuto presente nel corpo della richiesta
- `If-Modified-Since`: questo campo contiene un timestamp che indica l'ultima modifica nota al client. Il server utilizza questo dato per decidere se inviare il contenuto richiesto o restituire un codice 304 (*Not Modified*) se il contenuto non è stato aggiornato successivamente alla data specificata
![header-http](asset/img/header-http.png)
### Metodi HTTP
I metodi HTTP indicano al server l'azione da eseguire su una risorsa. I principali metodi:
@ -33,3 +49,10 @@ I metodi HTTP indicano al server l'azione da eseguire su una risorsa. I principa
- `TRACE`: impiegato a fini diagnostici e di debugging, aiutando a identificare eventuali problemi lungo il percorso della richiesta
- `DELETE`: consente di eliminare una risorsa sul server. Anche questo metodo, per ragioni di sicurezza, è spesso disabilitato di default
- `OPTIONS`: utilizzato per verificare quali metodi HTTP sono supportati dal server, consentendo così al client di conoscere le possibili azioni disponibili
## URI, URL e URN
Un `URI` (*Uniform Resource Identifier*) è un meccanismo per identificare in modo univoco una risorsa generica. Esistono due specializzazioni principali:
- `URL` (*Uniform Resource Locator*): è comunemente utilizzato nel web e specifica il percorso dove la risorsa può essere raggiunta. Segue il formato: `protocollo://{hostname o nome dominio/ip}[:porta]/percorso/?parametro1=valore1&parametro2=valore2...`
- `URN` (*Uniform Resource Name*): rappresenta il contesto o namespace in cui è inserita la risorsa, senza indicarne il percorso di accesso. Un URN consente, ad esempio, di classificare un libro in base al suo genere, indipendentemente dalla sua ubicazione specifica