HTTP (Hypertext Transfer Protocol)

Il Web funziona grazie all'HTTP (Hypertext Transfer Protocol). È un sistema efficiente che trasporta enormi quantità di dati (pagine, immagini, video, file) in modo rapido e sicuro, garantendo che le informazioni non vengano danneggiate.

Al centro del Web ci sono i client (come i browser) e i server (chiamati anche HTTP server). I client inviano HTTP request, i server rispondono con HTTP response contenenti i dati richiesti.

I contenuti online si chiamano risorse, che possono essere:

MIME Types

Poiché esistono tanti tipi di dati, HTTP usa i MIME types (Multipurpose Internet Mail Extensions) per etichettare i contenuti. Specificano il formato e aiutano il browser a capire come gestire il file.

MIME Type Descrizione
text/plain Testo semplice
text/html Pagina HTML
image/jpeg Immagine JPEG
image/png Immagine PNG
video/quicktime Video QuickTime
application/json Dati in formato JSON

URI, URL e URN

Ogni risorsa ha un nome unico chiamato URI (Uniform Resource Identifier), paragonabile a un indirizzo postale. I due tipi principali sono:

I termini URI e URL sono spesso usati come sinonimi.

HTTP Transaction

La comunicazione avviene tramite HTTP transaction, formata da una request (dal client) e una response (dal server).

Metodi HTTP

Ogni request contiene un metodo HTTP, che specifica l'azione da eseguire:

Metodo Descrizione Idempotente
GET Richiede una risorsa
PUT Carica o sostituisce un file sul server
DELETE Elimina una risorsa
HEAD Richiede solo le intestazioni, non il contenuto
OPTIONS Richiede i metodi supportati dal server
POST Invia dati a un'applicazione del server (es. form)
PATCH Modifica parziale di una risorsa

Metodi idempotenti — se ripetuti più volte, producono lo stesso risultato della prima richiesta. Metodi non idempotenti — ripetere la richiesta può portare a risultati diversi o effetti collaterali (es. POST crea una nuova risorsa a ogni chiamata).