通常、皆さんが作成する (X)HTMLデータは、シリアライズされたデータになりますが、必ずしもブラウザがその通りに解釈するわけではありません。
サーバが返信するデータは、(X)HTMLファイルの中身と同じものですが、そのデータが送信される前に HTTPレスポンスヘッダが返信されます。その中に、Content-Typeというヘッダがありますが、ここに何がセットされるかによって、ブラウザで解釈されるシリアライゼーションの種類が決定されます。その種類を表すのが MIMEタイプと呼ばれる値です。これによって、そのデータが HTMLなのか XHTMLなのかが区別されることになります。
したがって、シリアライゼーションの種類に一致した MIMEタイプを Content-Typeにセットしなければいけません。ブラウザに HTMLシリアライゼーションとして解釈させる場合には text/htmlを、ブラウザに XML(XHTML)シリアライゼーションとして解釈させる場合には、application/xhtml+xmlをセットしなければいけません。
XHTML1.0では、Content-Typeに text/htmlを使うことが認められていました。しかし、HTML5では認められません。もし XML(XHTML)シリアライゼーションとしてサイトを構築する場合には、前述の通りに、適切な MIMEタイプを設定する必要があります。
ただし、通常、ほとんどのウェブ・サーバでは、拡張子が .hmtl であれば、text/htmlが Content-Typeにセットされます。そのため、もし、拡張子が .html のファイルを XML(XHTML)シリアライゼーションとしてブラウザに解釈させたい場合は、サーバー側で設定が必要となります。
もしご利用のサーバで .htaccess が利用できるのであれば、.htaccess に次の 1行を記述してサーバにアップロードします。
AddType "application/xhtml+xml; charset=utf-8" .html
こうすることで、拡張子が .html のファイルは、すべて XML(XHTML)シリアライゼーションとしてブラウザに解釈されることになります。