We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

HTML は HTML の構文と、 XHTML と呼ばれる XML の構文のどちらでも、ネットワークを通じてブラウザーに渡すことができます。

HTML5 と HTML/XHTML

HTML5 標準はこれら両方の構文を定義しています。(HTTP の Content-Type ヘッダーで送られる) MIME タイプで、どちらの構文を選択するかを示します。 XHTML であれば MIME タイプは application/xhtml+xml になり、そうでなければ text/html になります。

HTML 文書と XHTML 文書をの例を、適切な HTTP ヘッダーを含めて示します。

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>これは HTML 文書です</p>
  </body>
</html>

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>これは XHTML 文書です</p>
  </body>
</html>

MIME タイプと DOCTYPE

HTML5 よりも前では、2つの別々な仕様書が2つの構文を(HTML 4.01XHTML 1.0)を定義していました。 XHTML1 標準によれば、 XHTML は特別な DOCTYPE を旋転することで利用できます。しかし、これを実装したブラウザーはまだなく、また HTML5 標準はこの決定を覆しました。ページが text/html として送信された場合は、 XHTML を使用したことにはなりません

代わりに、 HTTP の Content-Type ヘッダーに正しい MIME タイプを指定する必要があります。 HTML の meta タグに <meta http-equiv=…> のように入れても、無視されて text/html のように扱われます。

もしページを text/html として送信して XHTML で書いたと信じていると、以下の記事で言われているような様々な問題に直面するかもしれません。

対応状況

現在は Firefox, Chrome, Safari, Opera, and Internet Explorer (IE 9 以降)等の主要なブラウザーが XHTML に対応しています。(Internet Explorer 8 以前は、正しい XHTML の MIME タイプを持った XHTML 文書についてはファイル形式が不明だとしてダウンロードダイアログを表示します。)

また、多くの JavaScript ライブラリや開発ツールでは、 XHTML の対応は限定的か対応がありません。

HTML との違い

HTML と XHTML の違いの部分的な一覧が Properly Using CSS and JavaScript in XHTML Documents にあります。

ツール

関連情報

すべて見る...

ドキュメントのタグと貢献者

このページの貢献者: mfuji09, ethertank, Potappo, Mgjbot, Okome
最終更新者: mfuji09,