--- title: XHTML slug: XHTML translation_of: Glossary/XHTML ---

O HTML pode ser transferido através da internet para o navegador usando duas sintaxes: sintaxe HTML e sintaxe XML, também conhecido como XHTML.

HTML5 e HTML/XHTML

Ambas as sintaxes são definidas através do padrão HTML5. A escolha da sintaxe é dedicada ao tipo MIME, que é enviado no cabeçalho HTTP Content-Type . O tipo MIME para sintaxe HTML é text/html, e o tipo MIME para sintaxe XHTML é aplication/xhtml+xml.

O exemplo mostra um documento HTML e um XHTML incluindo  os cabeçalhos relevantes do HTTP.

Documento HTML

HTTP/1.1 200 OK
Content-Type: text/html

<!DOCTYPE html>
<html lang=en>
  <head>
    <meta charset=utf-8>
    <title>HTML</title>
  </head>
  <body>
    <p>Eu sou um documento HTML
  </body>
</html>

Documento XHTML

HTTP/1.1 200 OK
Content-Type: application/xhtml+xml

<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>XHTML</title>
  </head>
  <body>
    <p>Eu sou um documento XHTML</p>
  </body>
</html>

Tipo MIME contra DOCTYPE

Antes do HTML5, as duas sintaxes eram definidas por duas especificações diferentes: HTML 4.01 e XHTML 1.0. O padrão XHTML1 afirma que você poderia usar XHTML declarando um DOCTYPE especial. Porém, isso nunca foi implementado por nenhum navegador,e tem sido trocado pelo padrão HTML5. Se sua página é enviada como text/html, você não pode usar XHTML.

Observe que o tipo MIME deve ser declarado no Content-Type HTTP header. Se você apenas inseriu a meta tag no HTML como <meta http-equiv=…>, ele será ignorado e tratado como text/html.

Se você apresentar suas páginas text/html e acreditar que você está escrevendo XHTML, você poderá enfrentar vários problemas, tal como descritos nos seguintes artigos:

Suporte

O XHTML é suportado pela maioria dos navegadores modernos, incluindo Firefox, Chrome, Safari, e Opera. Entretanto, o Internet Explorer suporta XHTML somente a partir da versão 9. O Internet Explorer 8 e suas versões mais antigas mostrarão uma mensagem de tipo de arquivo desconhecido quando aberto um documento XHTML com o tipo XHTML MIME correto.

Também é bom observar que muitas bibliotecas populars de JavaScript e ferramentas para desenvolvedores não suportam XHTML ou tem suporte limitado.

Diferenças entre HTML

Veja Properly Using CSS and JavaScript in XHTML Documents para uma lista com algumas das diferenças entre HTML e XHTML.

Ferramentas

Veja também

Ver tudo...