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) ![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 ### Metodi HTTP
I metodi HTTP indicano al server l'azione da eseguire su una risorsa. I principali metodi: 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 - `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 - `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 - `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

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB