--- 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.
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.
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>
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>
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:
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.
Veja Properly Using CSS and JavaScript in XHTML Documents para uma lista com algumas das diferenças entre HTML e XHTML.