Server HTTP – HyperText Transfer Protocol
Il linguaggio del Web: come funzionano i siti Internet
Guida completa con esercizi pratici per Cisco Packet Tracer

Cos’è un Server HTTP?
Un server HTTP (HyperText Transfer Protocol) è un computer o dispositivo che esegue software specifico per gestire le richieste dei client (come browser web) e rispondere con contenuti web: pagine HTML, immagini, video, file CSS e JavaScript.
🎯 Il “Cameriere” di Internet
Pensalo come un cameriere in un ristorante: tu (il browser) fai un’ordinazione (richiesta HTTP), il cameriere (server HTTP) va in cucina (disco rigido), prende il piatto (file HTML/CSS/immagini), e te lo porta al tavolo (schermo). Il tutto in pochi millisecondi!
💡 Spiegazione Semplice — Il “Librario Digitale”
Immagina una biblioteca digitale (il server HTTP) con milioni di libri (pagine web). Quando vuoi leggere un libro, dici al bibliotecario (il browser) quale libro vuoi. Il bibliotecario va nello scaffale giusto, prende il libro, e te lo porta.
Nel mondo reale: quando digiti “www.google.com” nel browser, stai chiedendo al server HTTP di Google di inviarti la pagina principale di Google. Il server cerca il file “index.html” nel suo disco rigido e te lo invia attraverso Internet.
In Packet Tracer: Puoi simulare un server HTTP che ospita semplici pagine web. I PC nella rete potranno accedere a queste pagine tramite browser, proprio come su Internet!
🌐 Server HTTP
→ Serve pagine web (HTML, CSS, JS, immagini)
→ Porte: 80 (HTTP) e 443 (HTTPS)
→ Protocollo: HTTP/HTTPS
⚡ Server DHCP
→ Assegna indirizzi IP automaticamente
→ Porte: 67 (server), 68 (client)
→ Protocollo: DHCP
🌍 Server DNS
→ Traduce nomi di dominio in IP
→ Porta: 53
→ Protocollo: DNS
📋 Cosa Fa Esattamente un Server HTTP?
Un server HTTP non si limita a “servire file”. Ecco tutte le sue funzioni principali:
→ Gestisce Richieste: Riceve richieste HTTP (GET, POST, PUT, DELETE) dai client
→ Serve File Statici: File HTML, CSS, JavaScript, immagini, video che non cambiano
→ Esegue Applicazioni: PHP, Python, Node.js per generare contenuti dinamici
→ Gestisce Sessioni: Tiene traccia degli utenti loggati (cookie, sessioni)
→ Compressione: Comprime i file per una trasmissione più veloce
→ Cache: Memorizza copie di pagine frequentemente richieste per rispondere più velocemente
Come Funziona il Protocollo HTTP
HTTP è un protocollo stateless (senza stato) che funziona su richiesta-risposta (client-server). Ogni interazione è indipendente dalle precedenti.
RICHIESTA (Request)
Il browser invia una HTTP Request al server con metodo (GET/POST), URL, header e (opzionalmente) corpo.
ELABORAZIONE
Il server elabora la richiesta: cerca il file, esegue codice se necessario, prepara la risposta.
RISPOSTA (Response)
Il server invia HTTP Response con status code (200 OK, 404 Not Found), header e corpo (il contenuto).
VISUALIZZAZIONE
Il browser interpreta HTML/CSS/JS e mostra la pagina all’utente.
📨 Esempio di Richiesta e Risposta HTTP
📤 Richiesta del Browser (HTTP Request)
GET /index.html HTTP/1.1 Host: www.scuola.it User-Agent: Mozilla/5.0 Accept: text/html Accept-Language: it-IT
Spiegazione: “Ciao server, dammi il file /index.html dalla macchina www.scuola.it”
📥 Risposta del Server (HTTP Response)
HTTP/1.1 200 OK Content-Type: text/html Content-Length: 1256 Date: Mon, 10 Feb 2025 10:30:00 GMT <!DOCTYPE html> <html> <head><title>Scuola</title></head> <body>Benvenuto!</body> </html>
Spiegazione: “Eccolo! (200 OK) È un file HTML, lungo 1256 byte. Ecco il contenuto…”
🔢 Codici di Stato HTTP (Status Codes)
2xx → Successo
200 OK – Tutto bene
201 Created – Risorsa creata
3xx → Reindirizzamento
301 Moved – Spostato permanentemente
302 Found – Spostato temporaneamente
4xx → Errore Client
404 Not Found – Pagina non trovata
403 Forbidden – Accesso negato
5xx → Errore Server
500 Error – Errore interno server
503 Unavailable – Server non disponibile
In Packet Tracer: Quando configuri un server HTTP, puoi testare questi codici. Prova a richiedere una pagina che non esiste e vedrai il 404!
HTTP vs HTTPS – La Sicurezza nel Web
🔓 HTTP – Porta 80
Protocollo standard per il traffico web non cifrato. Tutta la comunicazione tra client e server avviene in chiaro, come una cartolina: chiunque la intercetti può leggerla.
⚠️ Pericoli: Password, dati di carta di credito, informazioni personali sono visibili a chi intercetta la connessione
🔐 HTTPS – Porta 443
Versione sicura del protocollo HTTP. La comunicazione è criptata con SSL/TLS, come una lettera in una busta sigillata: anche se intercettata, non può essere letta senza la chiave.
✅ Sicurezza: Dati cifrati, autenticazione del server, protezione da man-in-the-middle
📜 Certificati SSL/TLS – La “Carta d’Identità” dei Siti Web
Per usare HTTPS, un sito web deve avere un certificato SSL/TLS rilasciato da un’Autorità di Certificazione (CA) attendibile. Questo certificato:
🔑 Cripta la Comunicazione
Crea una connessione cifrata tra browser e server usando crittografia a chiave pubblica/privata.
✅ Autentica il Server
Verifica che stai parlando con il vero “google.com” e non con un falso sito che si spaccia per Google.
🔒 Garantisce Integrità
Assicura che i dati non siano stati modificati durante il trasferimento.
🌐 Oggi HTTPS è Obbligatorio
Google Chrome e altri browser segnalano come “Non sicuri” i siti che usano solo HTTP. Per questo oggi quasi tutti i siti usano HTTPS. In Packet Tracer, lavoreremo principalmente con HTTP per semplicità, ma ricorda che nel mondo reale HTTPS è lo standard.
Configurazione Server HTTP in Packet Tracer
Vediamo come configurare un server HTTP in Cisco Packet Tracer per ospitare pagine web e testare la connettività nella nostra rete.
📋 Passi per la Configurazione di Base
Passo 1 — Aggiungi il Server alla Rete
In Packet Tracer, vai in End Devices → Server e seleziona un server generico. Trascinalo nell’area di lavoro e collegalo allo switch con un cavo dritto (straight-through).
Passo 2 — Configura l’IP del Server
Clicca sul Server → tab Desktop → IP Configuration. Imposta:
• IP Address: 192.168.1.100 (un IP statico, importante!)
• Subnet Mask: 255.255.255.0
• Default Gateway: 192.168.1.1 (l’IP del router)
Passo 3 — Attiva il Servizio HTTP
Clicca sul Server → tab Services → HTTP. Assicurati che il servizio sia su ON. Ora puoi:
• Modificare la pagina predefinita cliccando su “index.html” e scrivendo il tuo contenuto
• Aggiungere nuove pagine con il pulsante “New”
• Caricare file (immagini, CSS, etc.) con “Upload”
Passo 4 — Configura il DNS (Opzionale ma Utile)
Nella stessa tab Services → DNS, aggiungi un record:
• Name: www.scuola.local
• Address: 192.168.1.100
• Type: A Record
Clicca Add. Ora i PC potranno accedere al sito con “www.scuola.local” invece dell’IP.
Passo 5 — Testa dal Client
Su un PC client:
1. Configuralo con IP nella stessa subnet (es: 192.168.1.101)
2. Apri il browser (Desktop → Web Browser)
3. Digita http://192.168.1.100 o http://www.scuola.local (se hai configurato DNS)
4. Dovresti vedere la pagina web che hai creato!
💻 Esempio di Pagina HTML per Packet Tracer
Cosa scrivere in index.html:
<!-- Pagina web semplice per test --> <!DOCTYPE html> <html> <head> <title>Server Scuola</title> <style> body { font-family: Arial; text-align: center; margin-top: 50px; } h1 { color: #dc2626; } .box { background: #f0f9ff; padding: 20px; margin: 20px auto; width: 80%; border-radius: 10px; } </style> </head> <body> <h1>🎓 Benvenuti nel Server della Scuola!</h1> <div class="box"> <p>Questo server è configurato con <strong>Cisco Packet Tracer</strong></p> <p>Indirizzo IP: <strong>192.168.1.100</strong></p> <p>Data: <span id="data"></span></p> </div> <p>Esercitazione di <strong>Sistemi e Reti</strong></p> <script> // JavaScript semplice per la data document.getElementById('data').textContent = new Date().toLocaleDateString('it-IT'); </script> </body> </html>
Suggerimenti:
- Puoi usare HTML base, CSS e JavaScript semplice
- Packet Tracer supporta immagini (caricale con “Upload”)
- Per pagine multiple, crea link:
<a href="chi-siamo.html">Chi Siamo</a>
Test rapido: Dopo aver salvato la pagina, dal PC client fai ping 192.168.1.100 per verificare la connettività, poi apri il browser.
🔗 Integrazione con DHCP e DNS
⚡ Con DHCP
Se nella rete c’è un server DHCP, il server HTTP deve avere IP statico (non via DHCP). Perché? Perché i client devono sempre sapere dove trovarlo!
Suggerimento: Nel pool DHCP, escludi l’IP del server HTTP (es: escludi 192.168.1.100).
🌍 Con DNS
Configura un server DNS (sullo stesso server o separato) con record per il tuo sito. I client potranno usare nomi invece di IP.
Configurazione DHCP: Inserisci l’IP del DNS server nelle opzioni DHCP, così i client lo ricevono automaticamente.
🔧 Configurazione Avanzata: Lo Stesso Dispositivo Fa Tutto
In Packet Tracer, un singolo server può fare contemporaneamente:
• HTTP (ospita il sito web)
• DNS (traduce nomi in IP)
• DHCP (assegna IP ai client)
Perfetto per esercitazioni e reti piccole!
Verifica e Troubleshooting
Dopo aver configurato il server HTTP, è importante testare che tutto funzioni e saper risolvere i problemi più comuni:
🔍 Guida Rapida al Troubleshooting
| Problema | Possibili Cause | Soluzione |
|---|---|---|
| Il browser mostra “Server non trovato” | 1. Server HTTP spento 2. IP server errato 3. DNS non configurato |
1. Verifica che il server sia acceso 2. Controlla IP server e client 3. Usa l’IP diretto invece del nome |
| Pagina vuota o “404 Not Found” | 1. File index.html mancante 2. Percorso sbagliato 3. Servizio HTTP non attivo |
1. Crea/ricarica index.html 2. Verifica nome file (case-sensitive) 3. Attiva HTTP in Services |
| Ping funziona ma browser no | 1. Porta 80 bloccata 2. Firewall attivo 3. Servizio HTTP spento |
1. Verifica cablaggio e switch 2. Disabilita firewall temporaneamente 3. Riavvia servizio HTTP |
| DNS non risolve il nome | 1. Record DNS mancante 2. DNS server non raggiungibile 3. Client non ha IP DNS |
1. Aggiungi record A al DNS 2. Verifica IP DNS sul client 3. Usa nslookup per testare |
! Comandi di verifica utili # Verifica connettività base PC> ping 192.168.1.100 # Test se il server è raggiungibile # Test DNS resolution PC> nslookup www.scuola.local # Verifica se DNS risolve il nome # Verifica configurazione IP PC> ipconfig # Controlla IP, gateway, DNS del client # Test diretto con telnet (se supportato) PC> telnet 192.168.1.100 80 # Test connessione alla porta 80 GET / HTTP/1.0 # Invia una richiesta HTTP manuale Host: scuola.local # (Premi Invio due volte) # Dal server, verifica servizi Server> netstat -an | find ":80" # (Windows) Verifica se porta 80 è in ascolto
✅ Checklist di Verifica Rapida
Il server HTTP ha un IP statico (non DHCP)
Il servizio HTTP è attivo (ON in Services)
Il file index.html esiste ed è stato salvato
Il client può fare ping al server
Il client ha IP nella stessa subnet del server
Se usi DNS, il record è configurato e il client ha l’IP DNS
Esercizi con Cisco Packet Tracer
Metti in pratica quello che hai imparato! Questi esercizi integrano i concetti di subnetting, DHCP, routing e server HTTP che hai studiato nelle lezioni precedenti.
Gli esercizi sono in ordine crescente di difficoltà e includono subnetting pratico per consolidare le tue competenze.
Esercizio 1 — Server HTTP con Subnetting Base
Obiettivo: Configurare una rete usando subnetting. Dividere una rete /24 in due subnet per separare server e client.
Topologia richiesta:
→ 1x Router (con 2 interfacce)
→ 2x Switch
→ 1x Server HTTP
→ 3x PC
Subnetting:
Rete da suddividere: 192.168.10.0/24
Dividi in 2 subnet (bisogna creare reti per server e client separati)
Subnet A (Server): 192.168.10.0/25
- Range IP: 192.168.10.1 – 192.168.10.126
- Subnet Mask: 255.255.255.128
- Indirizzo di rete: 192.168.10.0
- Broadcast: 192.168.10.127
Subnet B (Client): 192.168.10.128/25
- Range IP: 192.168.10.129 – 192.168.10.254
- Subnet Mask: 255.255.255.128
- Indirizzo di rete: 192.168.10.128
- Broadcast: 192.168.10.255
Configurazione IP:
Router:
- Interface Gig0/0: 192.168.10.1/25 (gateway Subnet A)
- Interface Gig0/1: 192.168.10.129/25 (gateway Subnet B)
Server HTTP: 192.168.10.10/25
PC1 (Subnet A): 192.168.10.11/25
PC2 (Subnet B): 192.168.10.140/25
PC3 (Subnet B): 192.168.10.141/25
Cosa devi fare:
1. Calcola le subnet partendo da 192.168.10.0/24
2. Configura il router con le due interfacce e subnet mask corrette
3. Assegna IP statici ai dispositivi nelle subnet corrette
4. Configura i gateway su tutti i PC
5. Configura il server HTTP e accedi dai PC di entrambe le subnet
Verifica:
✅ I PC in Subnet A possono fare ping al server (192.168.10.10)
✅ I PC in Subnet B possono fare ping al server (attraverso il router)
✅ Dal browser, i PC di entrambe le subnet accedono a http://192.168.10.10
✅ Il routing tra le due subnet funziona correttamente
Esercizio 2 — Rete Aziendale con Subnetting Complesso
Obiettivo: Progettare e configurare una rete aziendale con 4 subnet di dimensioni diverse usando VLSM (Variable Length Subnet Mask).
Requisiti aziendali:
Rete principale: 10.0.0.0/22
Creare 4 subnet con questi requisiti:
- Uffici Amministrativi: 30 host
- Sala Server: 10 host (server HTTP + altri servizi)
- Laboratorio: 60 host (studenti)
- WiFi Visitatori: 15 host
Tutti i segmenti devono comunicare tra loro tramite router
Soluzione Subnetting (guida):
1. Laboratorio (60 host): 10.0.0.0/26
- Mask: 255.255.255.192
- Range: 10.0.0.1 – 10.0.0.62
- Rete: 10.0.0.0
- Broadcast: 10.0.0.63
2. Uffici Amministrativi (30 host): 10.0.0.64/27
- Mask: 255.255.255.224
- Range: 10.0.0.65 – 10.0.0.94
- Rete: 10.0.0.64
- Broadcast: 10.0.0.95
3. WiFi Visitatori (15 host): 10.0.0.96/28
- Mask: 255.255.255.240
- Range: 10.0.0.97 – 10.0.0.110
- Rete: 10.0.0.96
- Broadcast: 10.0.0.111
4. Sala Server (10 host): 10.0.0.112/28
- Mask: 255.255.255.240
- Range: 10.0.0.113 – 10.0.0.126
- Rete: 10.0.0.112
- Broadcast: 10.0.0.127
Topologia:
→ 1x Router centrale con 4 interfacce
→ 4x Switch (uno per subnet)
→ 1x Server HTTP (Sala Server: 10.0.0.114)
→ 6x PC distribuiti nelle diverse subnet
Cosa devi fare:
1. Calcola le 4 subnet usando VLSM (seguendo la guida sopra)
2. Configura il router con 4 interfacce (usa router-modulare se necessario)
3. Assegna IP ai dispositivi nelle subnet corrette
4. Configura gateway su tutti i PC
5. Configura il server HTTP e testa l’accesso da tutte le subnet
Verifica:
✅ I PC di tutte le subnet possono fare ping al server HTTP
✅ Tutti i PC possono accedere al sito web http://10.0.0.114
✅ Le subnet hanno dimensioni diverse (maschere diverse)
✅ Il routing tra tutte le 4 subnet funziona
Esercizio 3 — Server DHCP per Multiple Subnet
Obiettivo: Configurare un server DHCP che serve due subnet diverse tramite un router con funzionalità DHCP relay.
Scenario:
Un’azienda ha due dipartimenti:
- Vendite: Subnet 192.168.20.0/24
- Sviluppo: Subnet 192.168.30.0/24
Tutti i PC ricevono IP automaticamente da un server DHCP centrale
Il server DHCP si trova nella subnet Vendite
Topologia:
→ 1x Router (2 interfacce)
→ 2x Switch
→ 1x Server DHCP (nella subnet Vendite)
→ 1x Server HTTP (nella subnet Sviluppo)
→ 4x PC (2 in Vendite, 2 in Sviluppo)
Configurazione IP:
Router:
- Gig0/0: 192.168.20.1/24 (Vendite)
- Gig0/1: 192.168.30.1/24 (Sviluppo)
Server DHCP: 192.168.20.100/24 (statico)
Server HTTP: 192.168.30.10/24 (statico)
Pool DHCP Vendite: 192.168.20.101 – 192.168.20.150
Pool DHCP Sviluppo: 192.168.30.101 – 192.168.30.150
Cosa devi fare:
1. Configura il router con le due interfacce
2. Configura il server DHCP con due pool (uno per subnet)
3. Configura DHCP relay sul router per la subnet Sviluppo
4. Configura i PC su DHCP
5. Configura il server HTTP nella subnet Sviluppo
6. Testa l’accesso al server web da entrambe le subnet
Verifica:
✅ I PC in Vendite ricevono IP dal range 192.168.20.101-150
✅ I PC in Sviluppo ricevono IP dal range 192.168.30.101-150
✅ Tutti i PC possono accedere a http://192.168.30.10
✅ I PC hanno gateway configurato automaticamente
✅ Il DHCP relay funziona (subnet Sviluppo riceve IP dal server in altra subnet)
Esercizio 4 — DNS Interno con Server Web
Obiettivo: Configurare un server DNS interno per risolvere nomi locali senza ricorsione esterna. I PC accedono al server web usando un nome di dominio invece dell’IP.
Scenario:
Creare una rete aziendale dove i dispositivi usano nomi significativi invece di IP.
Server DNS risolverà:
- webserver.azienda.local → 192.168.100.10
- dns.azienda.local → 192.168.100.5
- router.azienda.local → 192.168.100.1
DNS solo locale, senza forwarder a server DNS esterni
Topologia:
→ 1x Switch
→ 1x Server DNS (192.168.100.5)
→ 1x Server HTTP (192.168.100.10)
→ 3x PC configurati su DHCP o statici
Configurazione:
Rete: 192.168.100.0/24
Gateway: 192.168.100.1 (router se presente, altrimenti non necessario)
Server DNS:
- IP: 192.168.100.5/24
- Record A: webserver.azienda.local → 192.168.100.10
- Record A: dns.azienda.local → 192.168.100.5
- Record A: router.azienda.local → 192.168.100.1
Server HTTP: 192.168.100.10/24
PC: Configura DNS server: 192.168.100.5
Cosa devi fare:
1. Costruisci la rete e configura IP statici
2. Configura il server DNS con i record locali
3. Configura i PC per usare il server DNS locale
4. Configura il server HTTP
5. Testa la risoluzione DNS prima con nslookup, poi con il browser
Verifica:
✅ nslookup webserver.azienda.local restituisce 192.168.100.10
✅ I PC possono accedere al sito con http://webserver.azienda.local
✅ La risoluzione DNS funziona senza server DNS esterni
✅ Tutti i record configurati nel DNS vengono risolti correttamente
Esercizio 5 — Rete Scolastica con Subnetting e Servizi
Obiettivo: Progettare e implementare una rete scolastica con subnetting avanzato, server web per studenti e docenti, DNS interno e DHCP.
Requisiti di rete:
Spazio IP assegnato: 172.16.0.0/21
Creare le seguenti subnet (calcolare autonomamente):
- Laboratori Informatica: 120 host (4 laboratori da 30 host ciascuno)
- Uffici Docenti: 50 host
- Sala Server: 20 host
- WiFi Studenti: 100 host
- WiFi Ospiti: 30 host
- Link tra router: 2 host (punto-punto)
Tutte le subnet devono comunicare tra loro
Servizi richiesti:
→ Server Web Studenti: sito accessibile da tutte le subnet
→ Server Web Docenti: sito accessibile solo da uffici docenti e sala server
→ Server DNS: risolve nomi interni
→ Server DHCP: per laboratori e WiFi
→ Router principale: interconnette tutte le subnet
Guida Subnetting (suggerimento):
Da 172.16.0.0/21 (2046 host totali):
- Laboratori: 4 subnet /26 (62 host ciascuna)
- WiFi Studenti: 1 subnet /25 (126 host)
- Uffici Docenti: 1 subnet /26 (62 host)
- Sala Server: 1 subnet /27 (30 host)
- WiFi Ospiti: 1 subnet /27 (30 host)
- Link router: 1 subnet /30 (2 host)
Calcola gli intervalli IP specifici per ogni subnet
Cosa devi fare:
1. Calcola tutte le subnet partendo da 172.16.0.0/21
2. Progetta la topologia fisica (router, switch, server)
3. Configura il routing tra tutte le subnet
4. Configura i server (HTTP, DNS, DHCP)
5. Configura i client nelle diverse subnet
6. Testa la connettività e i servizi
Verifica:
✅ Tutte le subnet sono correttamente calcolate e configurate
✅ I PC in tutte le subnet accedono al server web studenti
✅ Solo le subnet autorizzate accedono al server web docenti
✅ Il DNS risolve i nomi interni correttamente
✅ Il DHCP assegna IP nelle subnet corrette
✅ Tutti i dispositivi comunicano attraverso il router centrale
💡 Suggerimenti Utili per gli Esercizi
Ordine di configurazione: Prima subnetting e IP statici, poi routing, infine servizi (HTTP, DNS, DHCP). Testa il ping tra dispositivi dopo ogni passo.
Subnetting pratico: Usa la formula 2^n – 2 per calcolare host disponibili. Ricorda che /24 = 254 host, /25 = 126 host, /26 = 62 host, /27 = 30 host, /28 = 14 host.
Gateway essenziale: Ogni dispositivo in una subnet deve avere come gateway il primo IP utilizzabile della sua subnet (di solito assegnato al router).
DNS locale semplice: Packet Tracer permette di configurare DNS interno senza ricorsione esterna. Configura solo i record necessari per la tua rete.
Documenta il lavoro: Crea una tabella con tutte le subnet calcolate, range IP, gateway e dispositivi assegnati. Ti aiuterà a configurare senza errori.
🎯 Conclusioni
Gli esercizi di questa sezione ti permettono di applicare tutti i concetti di rete appresi finora: dagli indirizzi IP e subnetting al routing, dai server HTTP ai servizi DNS e DHCP. Ogni esercizio aumenta gradualmente in complessità, permettendoti di costruire competenze solide.
Subnetting pratico con VLSM per reti reali
Integrazione server HTTP con infrastruttura di rete
DNS interno senza complessità di ricorsione esterna
DHCP multi-subnet con relay
Routing tra subnet multiple
Scenari reali per applicare le conoscenze
La pratica con Packet Tracer è fondamentale per consolidare le conoscenze teoriche. Questi esercizi simulano situazioni reali che potresti incontrare in ambito lavorativo, fornendoti esperienza pratica nella configurazione di reti complesse.