In informatica l'HyperText Markup Language (HTML; traduzione letterale: linguaggio a marcatori per ipertesti) è un linguaggio di markup. Nato per la formattazione e impaginazione di documenti ipertestuali disponibili
nel web 1.0, oggi è utilizzato principalmente per il disaccoppiamento della struttura logica di una pagina web (definita appunto dal markup) e la sua rappresentazione, gestita tramite gli stili CSS per adattarsi alle
nuove esigenze di comunicazione e pubblicazione all'interno di Internet[3].
L'HTML è un linguaggio di pubblico dominio, la cui sintassi è stabilita dal World Wide Web Consortium (W3C). È derivato dall'SGML, un metalinguaggio finalizzato alla definizione di linguaggi utilizzabili per
la stesura di documenti destinati alla trasmissione in formato elettronico. La versione attuale, la quinta, è stata rilasciata dal W3C nell'ottobre 2014.
Queste indicazioni vengono date attraverso degli appositi marcatori, detti tag (‘etichette’), che hanno la caratteristica di essere inclusi tra parentesi angolari (ad es, <img>
è
il segnaposto di un’immagine).
L'HTML è un linguaggio di formattazione che descrive le modalità di impaginazione o visualizzazione grafica (layout) del contenuto, testuale e non, di una pagina web attraverso tag di formattazione. Sebbene l'HTML
supporti l'inserimento di script e oggetti esterni quali immagini o filmati, non è un linguaggio di programmazione: non prevedendo alcuna definizione di variabili, strutture dati, funzioni o strutture
di controllo che possano realizzare programmi, il suo codice è in grado soltanto di strutturare e decorare dati testuali.[11][12]
Il linguaggio HTML, o la sua variante XHTML, ha come scopo quello di gestire i contenuti associandone o specificandone allo stesso tempo la struttura grafica (layout) all'interno della pagina web da realizzare grazie all'utilizzo di tag diversi.
Ogni tag (ad esempio <h1>
o <p>
) specifica un diverso ruolo dei contenuti che esso contrassegna (quindi il tag <h1>
definirà un'importanza maggiore del tag <p>
).
La formattazione consiste nell'inserimento nel testo di marcatori o etichette, detti tag, che descrivono caratteristiche come la funzione, il colore, le dimensioni, la posizione relativa all'interno della pagina. I browser che
leggono il codice mostrano all'utente formattazioni predefinite per ogni tag che incontrano (così ad esempio i contenuti marcati con il tag <h1>
avranno carattere 18pt e i contenuti marcati da <p>
avranno
carattere 12pt). Tuttavia questa formattazione è completamente sotto il controllo dell'utente, che può modificarla nelle Impostazioni del suo browser.
Quando un documento ipertestuale scritto in HTML è memorizzato in un file la sua estensione è tipicamente .html
o .htm
.
Con HTML quindi indichiamo, attraverso i tag, quali elementi dovranno apparire su uno schermo e come essi debbano essere disposti. Tutte queste indicazioni sono contenute in un documento HTML, spesso detto “Pagina HTML“.
Una pagina HTML è rappresentata da un file di testo, ovvero un file che possiamo modificare con programmi come notepad e in genere hanno un nome che finisce con l’estensione .html
.
Ciò significa che HTML non possiede i costrutti propri della programmazione, come i meccanismi “condizionali”, che consentono di reagire in modo diverso a seconda del verificarsi di una condizione (“in questa situazione fai questo, in quest’altra
fai quest’altro”), o i costrutti iterativi (“ripeti questa azione, finché non succede questo”).
Nota: Si parla in questo caso di linguaggio dichiarativo, che serve appunto ad indicare cosa deve apparire sullo schermo (testi, immagini, suoni, etc.), dove e in che sequenza. Nel caso di linguaggi in cui specifichiamo algoritmi precisi con “strutture di controllo”, come C, C++, Java, o anche PHP e JavaScript, parliamo di “linguaggi imperativi”.