Fondamenti di HTTP e HTTPS
Comprenda la struttura richiesta/risposta, l’handshake TLS e l’importanza di HTTPS per la sicurezza.
Fondamenti di HTTP e HTTPS è una lezione Cyber Security Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cyber Security Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cyber Security Academy include 4 lezioni in totale.
Che cos'è HTTP?
HTTP (Hypertext Transfer Protocol) è il fondamento della comunicazione Web. Definisce il modo in cui i browser richiedono risorse ai server e il modo in cui i server rispondono. HTTP è stateless: ogni richiesta è indipendente.
Struttura di una richiesta HTTP
Una richiesta HTTP contiene:
- Metodo: GET, POST, PUT, DELETE, PATCH, OPTIONS
- URL: il percorso della risorsa
- Header: metadati (Content-Type, Authorization, User-Agent)
- Body: dati inviati con richieste POST/PUT
GET /api/users HTTP/1.1
Host: example.com
Authorization: Bearer eyJhbGc...Struttura di una risposta HTTP
Una risposta HTTP include:
- Codice di stato: 200 OK, 301 Redirect, 401 Unauthorized, 403 Forbidden, 404 Not Found, 500 Server Error
- Header: Content-Type, Set-Cookie, header CORS
- Body: HTML, JSON o altri contenuti
Metodi HTTP e sicurezza
Metodi HTTP e relative implicazioni di sicurezza:
- GET — dovrebbe essere di sola lettura; i parametri nell'URL vengono registrati nei log
- POST — invia i dati nel body; non è sicuro per sua natura
- PUT/DELETE — devono essere protetti dall'autenticazione
- OPTIONS — rivela i metodi consentiti e può esporre configurazioni errate
Cosa aggiunge HTTPS
HTTPS = HTTP + cifratura TLS. Offre:
- Cifratura: i dati in transito sono cifrati (riservatezza)
- Integrità: le manomissioni vengono rilevate tramite MAC
- Autenticazione: l'identità del server viene verificata tramite un certificato
Senza HTTPS, tutti i dati, comprese le password e i token di sessione, sono visibili a chi intercetta il traffico di rete.
Panoramica dell'handshake TLS
Quando si connette a un sito HTTPS:
- Il client invia le suite di cifratura supportate
- Il server invia il certificato e la suite di cifratura selezionata
- Il client verifica il certificato rispetto alle CA attendibili
- Lo scambio di chiavi stabilisce una chiave di sessione condivisa
- Inizia la comunicazione cifrata
Header di sicurezza HTTP
Header di risposta importanti per la sicurezza:
- Strict-Transport-Security (HSTS) — forza l'uso di HTTPS
- Content-Security-Policy (CSP) — controlla quali risorse possono essere caricate
- X-Frame-Options — previene il clickjacking
- X-Content-Type-Options — previene il MIME sniffing
Cookie e sessioni
HTTP è stateless, quindi le sessioni vengono gestite tramite i cookie. Attributi di sicurezza dei cookie:
- HttpOnly — non accessibile tramite JavaScript (impedisce il furto tramite XSS)
- Secure — inviato solo tramite HTTPS
- SameSite=Strict/Lax — previene gli attacchi CSRF
HTTPS non significa che il sito sia sicuro
HTTPS cifra solo il canale, non il contenuto. Un sito di phishing può usare HTTPS (l'icona del lucchetto) pur ospitando contenuti dannosi. HTTPS conferma l'identità del server, non l'affidabilità del server.
HTTP/2 e HTTP/3
Le versioni moderne di HTTP migliorano le prestazioni:
- HTTP/2 — multiplexing, compressione degli header e server push su TLS
- HTTP/3 — utilizza QUIC (basato su UDP) per ridurre la latenza, soprattutto sui dispositivi mobili
Entrambe richiedono TLS. Le implicazioni per la sicurezza sono simili a quelle di HTTP/1.1, ma la superficie di attacco cambia leggermente.
Analisi del traffico HTTP
Strumenti per analizzare il traffico HTTP:
- Burp Suite — intercetta e modifica richieste e risposte
- curl — invia richieste dalla riga di comando
- Wireshark — cattura il traffico grezzo (HTTP è visibile; HTTPS è cifrato)
curl -v https://example.com
curl -X POST -H "Content-Type: application/json" -d '{"user":"test"}' https://api.example.com/loginVerifica rapida: HTTP e HTTPS
Quale attributo dei cookie HTTP impedisce che il cookie sia accessibile tramite JavaScript, proteggendolo dal furto tramite XSS?
Riepilogo della lezione
HTTP è alla base della comunicazione sul web. HTTPS aggiunge cifratura TLS, integrità e autenticazione del server. Gli header di sicurezza rafforzano le applicazioni web. I cookie devono avere i flag HttpOnly, Secure e SameSite. Ricordi: HTTPS cifra il canale, ma non garantisce che un sito sia affidabile.
Domande Frequenti
La lezione «Fondamenti di HTTP e HTTPS» è gratuita?
Sì — il testo completo di «Fondamenti di HTTP e HTTPS» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cyber Security Academy, passa a CoddyKit PRO. Il corso Cyber Security Academy include 4 lezioni in totale.
Cosa imparerò in «Fondamenti di HTTP e HTTPS»?
Comprenda la struttura richiesta/risposta, l’handshake TLS e l’importanza di HTTPS per la sicurezza. Eserciti Cyber Security Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Cyber Security Academy?
Non è richiesta alcuna esperienza precedente. Cyber Security Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Fondamenti di HTTP e HTTPS»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Cyber Security Academy?
Sì. Ogni lezione Cyber Security Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Indirizzamento IP e subnet
- TCP e UDP: quando si usa ciascuno
- DNS: come i domini vengono risolti in IP
- Fondamenti di HTTP e HTTPS