Prima di affrontare l’argomento dell’header nei documenti HTML, è fondamentale dedicare una lezione a un elemento spesso sottovalutato ma essenziale: il doctype.
Il doctype rappresenta la prima riga di codice in un documento HTML e serve a indicare al browser il tipo di documento che sta interpretando. Il termine doctype è l’abbreviazione di Document Type Declaration (DTD) e costituisce una dichiarazione da parte dello sviluppatore web riguardo al linguaggio utilizzato, alla sua versione, alla lingua e ad altre specifiche tecniche.
Esempio di Doctype in HTML
Ecco un esempio di dichiarazione doctype per una pagina HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Questa riga, che deve essere posizionata prima dell’apertura del tag <html>
, contiene diverse informazioni:
!DOCTYPE
– Indica l’inizio della dichiarazione doctype.HTML
– Specifica che il documento utilizza il linguaggio HTML.PUBLIC
– Indica che il documento è di dominio pubblico.-//W3C//DTD HTML 4.01 Transitional//EN
– Definisce lo standard W3C a cui si riferisce il documento, specificando che utilizza HTML 4.01 Transitional e che la lingua predefinita è l’inglese.http://www.w3.org/TR/html4/loose.dtd
– URL che rimanda alla specifica DTD del documento (opzionale e spesso omesso nella pratica).
Aspetti importanti del Doctype
<!DOCTYPE>
non è un tag HTML, ma un’istruzione per il browser, utile per determinare le regole di rendering della pagina.- Il doctype non è case-sensitive, quindi può essere scritto in maiuscolo o minuscolo senza influenzarne il funzionamento.
Le Diverse DTD in HTML 4
In HTML 4 sono previste tre tipologie di DTD (Document Type Definition), ognuna con caratteristiche specifiche:
1. HTML Strict
È la versione più rigorosa, che non permette l’uso di tag deprecati e frameset. Inoltre, la formattazione grafica degli elementi deve essere gestita esclusivamente tramite CSS.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2. HTML Transitional
Una versione più flessibile che consente l’uso di alcuni tag deprecati, ma non supporta i frameset. In questa modalità, è possibile utilizzare tag di presentazione HTML, come ad esempio bgcolor
.
[htm]
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”
“http://www.w3.org/TR/html4/loose.dtd”>
[/html]
3. HTML Frameset
Questa versione è specifica per le pagine che utilizzano frameset.
[htm]
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Frameset//EN”
“http://www.w3.org/TR/html4/frameset.dtd”>
[/html]
Il Doctype in HTML5
Con l’introduzione di HTML5, il linguaggio non è più basato su SGML (Standard Generalized Markup Language), rendendo inutile la dichiarazione di una DTD. Per questo motivo, in una pagina HTML5 è sufficiente indicare il doctype in modo molto più semplice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
Perché il Doctype è Importante?
Molti sviluppatori tendono a dimenticare o omettere il doctype nei loro documenti HTML, ma questa è una pratica scorretta. L’assenza del doctype può causare problemi di rendering, impedendo al browser di interpretare correttamente la pagina.
Assicurarsi sempre di includere il doctype corretto è una buona pratica che garantisce una visualizzazione coerente e conforme agli standard web.