// hosting · Web Platform Advent #12
Hosting di siti statici: come fare il deploy di un sito Astro, Vite o HTML puro
Cos'è l'hosting statico, come una CDN serve la tua build e come fare il deploy di un sito Astro, Vite o JAMstack con dominio personalizzato e HTTPS gratuito.
Un sito statico è un insieme di file pre-compilati — HTML, CSS, JavaScript e asset — che un server può consegnare al browser così come sono, senza che venga eseguito codice a ogni richiesta. Strumenti come Astro, Vite, Eleventy o una cartella HTML scritta a mano producono tutti questo tipo di output. Ospitarlo è più semplice, più economico e più veloce che ospitare un'app dinamica, perché non c'è nulla da eseguire lato server.
Cosa significa davvero "hosting statico"
Con l'hosting statico esegui un passo di build in locale o in CI, che produce una cartella di file semplici (spesso chiamata dist o _site). L'unico compito dell'host è memorizzare quei file e servirli via HTTP. Non c'è PHP, nessun processo Node, nessun database — solo file. Questo ha tre conseguenze dirette:
- Velocità — i file possono essere messi in cache in modo aggressivo e serviti dall'edge, vicino al visitatore.
- Costo — nessun server sempre acceso da pagare; molti provider offrono un generoso piano gratuito.
- Affidabilità — meno parti in movimento significano meno cose che possono rompersi sotto carico.
Costruire la cartella di output
Ogni framework statico espone un comando di build. Il risultato è la cartella che carichi o a cui fai puntare il tuo host:
# Astro
npm run build # outputs to ./dist
# Vite
npm run build # outputs to ./dist
# Plain HTML
# no build step — your folder of .html files is already the output Per un sito HTML puro, la "build" è semplicemente la cartella che già possiedi. Per Astro o Vite, è la directory dist a essere servita.
Dove ospitare: CDN vs hosting statico classico
Hai due grandi famiglie di opzioni:
Piattaforme edge / CDN
Queste compilano il tuo progetto da un repository Git e distribuiscono l'output su una content delivery network. Una CDN memorizza copie dei tuoi file in molte località nel mondo, così un visitatore viene servito da un nodo vicino a lui. Questo minimizza la latenza e assorbe i picchi di traffico. I deploy sono di solito attivati da un git push.
Hosting classico / a object storage
Puoi anche servire un sito statico da un host web tradizionale o da object storage con una CDN davanti. È una buona scelta quando hai già hosting per altri progetti, o quando preferisci gestire tu stesso l'upload via FTP/SSH o uno script di deploy.
Collegare un dominio personalizzato
Qualunque host tu scelga, il cablaggio del dominio è in linea di principio lo stesso. Fai puntare i record DNS del tuo dominio all'host:
- Un record A (o AAAA) che fa puntare il dominio apex (
example.com) all'IP dell'host, oppure - Un record CNAME che fa puntare un sottodominio (
www.example.com) all'hostname fornito dall'host.
Molte piattaforme supportano anche la delega dei nameserver, in cui affidi interamente la gestione DNS all'host. Dopo la propagazione dei record, l'host serve il tuo sito sul tuo dominio.
HTTPS gratuito
L'HTTPS non è più opzionale — i browser segnalano l'HTTP semplice come "non sicuro" e molte API della piattaforma web funzionano solo in un contesto sicuro. La buona notizia: praticamente ogni host statico moderno emette e rinnova i certificati TLS per te automaticamente, di solito tramite Let's Encrypt. Una volta collegato il dominio, il certificato viene fornito senza alcun passaggio manuale e i rinnovi avvengono da soli.
Riferimento rapido
| Passo | Cosa fai |
|---|---|
| Build | Esegui npm run build (Astro/Vite) o usa la tua cartella HTML |
| Output | Servi la cartella dist / _site |
| Host | Scegli una piattaforma edge/CDN o un host web compatibile con lo statico |
| Dominio | Fai puntare i record A/AAAA o CNAME all'host |
| HTTPS | Certificato TLS automatico, nessuna configurazione manuale |
Il senso dell'hosting statico è proprio che si toglie di mezzo: costruisci una volta, fai push, e i file vengono serviti velocemente dall'edge. Riserva l'hosting dinamico alle parti del tuo progetto che hanno davvero bisogno di logica lato server — e tieni il frontend statico su un'infrastruttura costruita per consegnare i file rapidamente.