MIME tem as suas origens como extensão ao email e foi reutilizada no HTTP como meio de declaração de tipo de conteúdo (ou tipo de media) a ser servido. Cada recurso tem um tipo de MIME específico que é constituído por duas partes: o tipo principal e um subtipo, que são separados por um traço de fracção «/». O tipo MIME indica ao agente utilizador (quando recebe o documento) como o tratar em conformidade, permitindo assim associar uma aplicação específica ou um comportamento específico ao tipo de media em causa no seu navegador (ou melhor dizer agente utilizador).
Qual o tipo MIME em que deve ser servido o XHTML?
A resposta breve é application/xhtml+xml
, como descrito na ">nota de tipos de media XHTML do W3C. A resposta contextualizada é um pouco mais complexa.
Porque não text/html?
A principal razão para usar um novo tipo de MIME para XHTML é esta ser uma linguagem XML o que significa que está sugeita a validação mais estrita e assim não tender para a sopa de marcação que muita gente chama HTML; assim, é razoável indicar a diferença aos navegadores de forma a serem capazes de tratar o código resultante de um modo mais eficiente.
O facto da XHTML ser baseada na XML involve ainda importantes diferenças sintáticas — a mais significativa das quais é que marcadores vazios como <br>
que não é necessário ter fecho em HTML enquanto tal é obrigatório na XHTML ( como em <br>
). Estas alterações sintáticas são mais uma razão para distinguir entre HTML e XHTML e assim surge o tipo MIME diferente.
Mas alguns navegadores desconhecem application/xhtml+xml
De facto é assim, e é um dos maiores problemas actuais da adopção do novo tipo MIME, em especial porque o Internet Explorer não o reconhece (e não está previsto que o novo IE7 o faça). Isto é um problema normal com a adopção de novas tecnologias e normalmente é resolvido com o tempo. Contudo por agora há maneira de sair deste ciclo vicioso:
- O XHTML 1.0 define um modo de retrocompatibilidade que nos permite usar XHTML 1.0 mantendo compatibilidade com navegadores antigos ou retrogrados. Se seguir estas directrizes é-lhe permitido servir o seu XHTML como
text/html
. O modo de retrocompatibilidade define alguns truques sintáticos que permitem um documento XHTML ser compreendido pela maior parte dos navegadores HTML. - Usar técnicas de negociação de conteúdo no seu servidor pode levar a servir de facto o seu XHTML 1.0 seja como
text/html
ou comoapplication/xhtml+xml
dependendo das capacidades do agente utilizador, de forma a manter retrocompatibilidade com navegadores antigos enquanto explora as capacidades dos modernos.
A primeira técnica torna o seu conteúdo compreensível pela maioria dos navegadores da web, mas ao fazê-lo perde todas as vantagens de ter um tipo de MIME diferente: o poder de ser tratado como XML, permitindo ao documento de ser distinguido da sopa de marcação, obtendo uma reprodução mais rápida em navegadores modernos.
A segunda técnica trata dos navegadores existentes enquanto mantém o novo tipo MIME para os que sejam capazes de o compreender; a desvantagem é poder ser difícil de implementar no seu servidor dependendo do acesso que tenha às suas configurações e parâmetros.
Alternativamente pode ser o seu XHTML (qualquer versão) como application/xml
, ou mesmo como text/xml
. Contudo, servir documentos XHTML como text/xml
pode trazer problemas de conjuntos de caracteres devido às regras que são aplicadas a tipos MIME text/*
serem mais complexas do que aquelas que são aplicadas a tipos application/*
. É ainda importante assinalar que em quaisquer destes tipos MIME o Internet Explorer irá mostrar o código fonte em vez de os interpretar como XHTML.
Como é que instalo e configuro a negociação de conteúdos de que falamos acima?
Isso depende do servidor Web que usa e se é ou não o administrador do servidor onde deseja usar este tipo de negocioação. Aponte ao seu administrador de web server este documento e peça-lhe para agir de forma apropriada.
Se for o administrador do servidor em questão lei-a o artigo de técnicas associadas.
Ou seja como já aqui disse a escolha do tipo de documento não é tão simples como parece à primeira vista.
Em Resumo
Versão (X)HTML | Tipo MIME recomendado | Limitações em navegador | Tipo MIME alternativo | Técnicas |
---|---|---|---|---|
HTML 2.0,3.2,4.0,4.01 | text/html |
nada, mas este tipo MIME foi frequentemente abusado como chapéu de uma sopa de marcação | N/A | N/A |
XHTML 1.0 | application/xhtml+xml |
Não reconhecido pelo Internet Explorer 6 e versões anteriores. Reconhecimento não previsto para IE7 |
|
|
XHTML 1.1, XHTML Basic, perfís XHTML | application/xhtml+xml |
Não reconhecido pelo Internet Explorer 6.x e versões anteriores |
|
N/A |
Sem comentários:
Enviar um comentário