xhtml è una riformulazione di html in linguaggio xml.Nel futuro prossimo questo fatto riserverà parecchi vantaggi, oggi magari per le pagine normali non si notano molte differenze.
In teoria, xhtml ti costringe a creare una pagina senza errori di sintassi, ad esempio devi chiudere tutti gli elementi che prima potevi lasciare senza chiusura, come i paragrafi.
In html è tollerata una cosa del genere
codice:
primo paragrafo.
secondo paragrafo
in Xhtml devi per forza chiudere tutti gli elementi
codice:
primo paragrafo</p>
secondo paragrafo</p>
Nella pratica, con xhtml1.0 puoi anche permetterti di fare errori, come con html. Questo perchè xhtml1.0 è pensata come una versione di transizione, in grado di garantire diverse retrocompatibilità.
Al contrario con xhtml1.1 la pagina verrà trattata direttamente come file xml,avrà dunque un trattamento completamente diverso dall'html, ogni minimo errore farà saltare la pagina, nel senso che comparirà nel browser solo un messaggio di errore, e non la pagina.
Questo consente ad esempio di creare browser più facilmente(questo magari è un discorso che non interessa direttamente i web designer), se guardi l'esempio di prima è facile capire che nel primo caso il programmatore del browser deve sbattersi a scrivere un programma in grado di "interpretare" le intenzioni di chi ha scritto quel codice così sporco, nel secondo caso il programmatore non deve preoccuparsi più di tanto: se c'è un'ambiguità, la pagina va in errore e non deve essere eseguita. In questo senso, la pagina xhtml può venire caricata molto più velocemente di una pagina html ambigua. (attualmente pare che il motore di IE per xml sia stranamente lento).