Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Guida Completa al Protocollo HTTP: Funzionamento, Metodi e Versioni, Appunti di Informatica

Questa guida fornisce una panoramica completa del protocollo http (hypertext transfer protocol), fondamentale per la comunicazione tra client e server web. Esplora il modello richiesta-risposta, il funzionamento dettagliato, gli elementi principali degli url e le diverse versioni di http (1.1, 2.0, 3.0). Approfondisce i metodi get e post, la struttura delle richieste e delle risposte http, inclusi i codici di stato. Inoltre, analizza altri metodi come head, put e delete, offrendo una comprensione esaustiva del protocollo e delle sue applicazioni nel web.

Tipologia: Appunti

2024/2025

In vendita dal 18/09/2025

filippo-betti-5
filippo-betti-5 🇮🇹

6 documenti

1 / 5

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
HTTP
HTTP (Hypertext Transfer Protocol) è un protocollo di livello applicativo che
consente la comunicazione tra client e server web.
Il modello di funzionamento è del tipo richiesta-risposta (request-response), dove un client
(tipicamente il browser web) invia una richiesta a un server e il server risponde con le risorse
richieste.
La risorsa richiesta dal client è identificata tramite un URL
Il protocollo di trasporto utilizzato è il TCP, la porta standard è l’80 e la 443 per la
versione HTTPS.
FUNZIONAMENTO
1. Inizializzazione: un utente inserisce nel browser un URL o clicca su un link.
2. Richiesta: il browser tramite DNS risolve il dominio presente nell’URL e dopo aver
stabilito la connessione TCP con il server di destinazione invia la richiesta.
La richiesta include un metodo (come GET o POST), l'URL della risorsa richiesta e
la versione del protocollo HTTP utilizzata. Inserisce degli HEADER che contengono
informazioni aggiuntive che aiutano il server nel gestire la risposta, come i tipi di
contenuto che il client può accettare, la lingua, il client.
3. Risposta: il server riceve ed elabora la richiesta.
Il server risponde con un codice di stato HTTP (es. 200 OK per successo o 404 Not Found
per errore), header (che forniscono informazioni aggiuntive sul server e sulla risorsa) e, in
genere, un corpo contenente i dati richiesti (come codice HTML, immagini o altri contenuti).
4. Rendering: il browser riceve la risposta e esegue il rendering del contenuto. Se la pagina
include collegamenti ad altre risorse (immagini, fogli di stile, ecc.), il browser effettua ulteriori
richieste HTTP per recuperare tali risorse.
5. Connessione: Dopo aver soddisfatto una richiesta, la connessione viene chiusa.
URL
URL Uniform Resource Locator
protocollo://utente:password@host:porta/percorso?query#ancora
Elementi principali
1. Protocollo: Indica il metodo di accesso alla risorsa ( http, https, ftp, file, mailto, tel)
2. Host (Dominio o Indirizzo IP): Identifica il server che ospita la risorsa.
pf3
pf4
pf5

Anteprima parziale del testo

Scarica Guida Completa al Protocollo HTTP: Funzionamento, Metodi e Versioni e più Appunti in PDF di Informatica solo su Docsity!

HTTP

HTTP (Hypertext Transfer Protocol) è un protocollo di livello applicativo che consente la comunicazione tra client e server web.

Il modello di funzionamento è del tipo richiesta-risposta (request-response), dove un client (tipicamente il browser web) invia una richiesta a un server e il server risponde con le risorse richieste.

La risorsa richiesta dal client è identificata tramite un URL

Il protocollo di trasporto utilizzato è il TCP, la porta standard è l’80 e la 443 per la versione HTTPS.

FUNZIONAMENTO

  1. Inizializzazione: un utente inserisce nel browser un URL o clicca su un link.
  2. Richiesta: il browser tramite DNS risolve il dominio presente nell’URL e dopo aver stabilito la connessione TCP con il server di destinazione invia la richiesta.

La richiesta include un metodo (come GET o POST ), l'URL della risorsa richiesta e la versione del protocollo HTTP utilizzata. Inserisce degli HEADER che contengono informazioni aggiuntive che aiutano il server nel gestire la risposta, come i tipi di contenuto che il client può accettare, la lingua, il client.

  1. Risposta: il server riceve ed elabora la richiesta. Il server risponde con un codice di stato HTTP (es. 200 OK per successo o 404 Not Found per errore), header (che forniscono informazioni aggiuntive sul server e sulla risorsa) e, in genere, un corpo contenente i dati richiesti (come codice HTML, immagini o altri contenuti).
  2. Rendering: il browser riceve la risposta e esegue il rendering del contenuto. Se la pagina include collegamenti ad altre risorse (immagini, fogli di stile, ecc.), il browser effettua ulteriori richieste HTTP per recuperare tali risorse.
  3. Connessione: Dopo aver soddisfatto una richiesta, la connessione viene chiusa.

URL

URL Uniform Resource Locator protocollo://utente:password@host:porta/percorso?query#ancora

Elementi principali

  1. Protocollo: Indica il metodo di accesso alla risorsa ( http, https, ftp, file, mailto, tel)
  2. Host (Dominio o Indirizzo IP): Identifica il server che ospita la risorsa.
  1. Porta (Opzionale): Indica la porta del server da usare per la connessione

(se diversa da quella predefinita).

  1. Percorso (Path) : Specifica la posizione della risorsa sul server.
  2. Query String (Parametri, Opzionale) : Contiene coppie chiave-valore per

passare dati al server. Formato: ?chiave1=valore1&chiave2=valore

  1. Fragment (Ancora, Opzionale): Identifica una sezione specifica della pagina.

HTTP 1.

Generalmente la risposta che un client riceve ad una richiesta HTTP GET non è la pagina completa. Perchè per la corretta visualizzazione e gestione sono necessarie altre risorse come immagini, script, file css.

Il browser per effettuare il rendering deve avere tutte le risorse a disposizione e non può che chiederle dopo aver ricevuto la prima risposta.

In HTTP/1.0, il client doveva interrompere e rifare la connessione TCP ad ogni nuova richiesta, un'operazione costosa in termini di tempo e risorse.

HTTP/1.1 risolve questo problema introducendo connessioni persistenti e pipelining.

Con le connessioni persistenti, HTTP/1.1 presuppone che una connessione TCP debba essere mantenuta aperta a meno che non venga direttamente ordinato di chiudersi.

Ciò consente al cliente di inviare più richieste utilizzando la stessa connessione senza attendere una risposta per ciascuna , migliorando notevolmente le prestazioni di HTTP/1. rispetto a HTTP/1.0.

Le richieste sono comunque sequenziali e se una richiesta richiede molto tempo o non può essere soddisfatta il ritardo si propaga alle successive. Questo è noto come blocco head-of-line (HOL) e rappresenta un problema significativo per l'ottimizzazione dell'efficienza della connessione in HTTP/1.1.

L'aggiunta di connessioni TCP separate e parallele potrebbe alleviare questo problema, ma ci sono limiti al numero di connessioni TCP simultanee possibili tra un client e un server e ogni nuova connessione richiede risorse significative.

HTTP 2.

La versione 2.0 di HTTP risolve il problema del blocco delle code effettuando più richieste in parallelo.

Il parallelismo delle richieste richiede una gestione più complessa del dialogo in quanto sulla stessa connessione TCP transitano le risposte in modo non sequenziale.

Una riga vuota

Il corpo del messaggio che è opzionale

IL METODO GET

Viene utilizzato per richiedere una risorsa al server.

GET /mypage.htlp?a=56 HTTP/1. Host: www.example.com User-Agent: Mozilla/5. Accept: text/html

IL METODO POST

Viene utilizzato per inviare informazioni al server, ad esempio il contenuto di un form o un file.

LA RESPONSE DI HTTP

La risposta di HTTP è composta di 3 parti:

  1. Status line: con un codice e una descrizione
  2. Header: 0 o più righe contenenti informazioni aggiuntive utili al client per gestire la risposta 3. Il corpo della risposta (opzionale).

CODICI DI STATO

I codici di stato sono di 3 cifre e suddivisi in gruppi:

1xx informational response – richiesta ricevuta, il processo di gestione è in corso ➔ 2xx successful – nessun problema ➔ 3xx redirection – redirezione ➔ 4xx client error – problema con la richiesta ➔ 5xx server error – richiesta valida ma problema nel server

ALTRI METODI DI HTTP

HEAD

Simile al metodo GET, ma restituisce solo l'header della risposta senza il corpo della risorsa. Utile per verificare l'esistenza o le proprietà di una risorsa senza scaricarla.

Caratteristiche: Idempotente, memorizzabile nella cache e sicuro

● Utilizzi:

  1. Verifica dell'esistenza di una risorsa: Il metodo HEAD è utile per verificare se una risorsa esiste senza doverla scaricare. Se la risposta ha un codice di stato HTTP 200, significa che la risorsa esiste.
  2. Verifica delle proprietà della risorsa: HEAD consente di ottenere informazioni sulla risorsa, come la data di ultima modifica (Last-Modified) o la dimensione del file (Content-Length), senza dover scaricare la risorsa stessa.

PUT

● Il metodo PUT è utilizzato per aggiornare o sostituire una risorsa esistente sul server. Se la risorsa non esiste, può anche crearla.

● Caratteristiche: È considerato idempotente, il che significa che inviare più volte la stessa richiesta PUT dovrebbe avere lo stesso effetto di una sola richiesta.

● Utilizzo: Upload di file sul server

DELETE

● Il metodo DELETE è utilizzato per eliminare una risorsa dal server.

Caratteristiche: Anche questo è idempotente, quindi eliminare più volte la stessa risorsa non dovrebbe avere effetti diversi rispetto a eliminarla una sola volta.

Utilizzo: Eliminazione di un file.