Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.
XHTML
OHTML pode ser transferido através da internet para o navegador usando duas sintaxes: sintaxe HTML e sintaxeXML, também conhecido como XHTML.
In this article
HTML5 e HTML/XHTML
Ambas as sintaxes são definidas através do padrãoHTML5. A escolha da sintaxe é dedicada ao tipo MIME, que é enviado no cabeçalho HTTPContent-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
<!-- 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</p> </body></html>Documento XHTML
<!-- Content-Type: application/xhtml+xml --><html xml:lang="en" xmlns="https://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 eXHTML 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 comotext/html você não pode usar XHTML.
Observe que o tipo MIME deve ser declarado noContent-Type HTTP header. Se você apenas inseriu a meta tag no HTML como<meta http-equiv=…>, ele será ignorado e tratado comotext/html.
Se você apresentar suas páginastext/html e acreditar que você está escrevendo XHTML, você poderá enfrentar vários problemas, tal como descritos nos seguintes artigos:
- No to XHTML um artigo excelente do Spartanicus
- Beware of XHTML por David Hammond
- Sending XHTML as text/html Considered Harmful por Ian Hickson
- XHTML's Dirty Little Secret por Mark Pilgrim
- XHTML - What's the Point? por Henri Sivonen
- XHTML is not for Beginners por Lachlan Hunt
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
VejaProperly Using CSS and JavaScript in XHTML Documents para uma lista com algumas das diferenças entre HTML e XHTML.