XHTML1.1の MIME タイプ指定

2004-2-1 01:13
このエントリーをはてなブックマークに追加

このサイトは XHTML1.1 でマークアップ付けをしています。そして head 要素で <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" /> のような指定をしていました。

なぜ contentapplication/xhtml+xml ではなく text/html なのかというと、HTTP レスポンスヘッダで application/xhtml+xml を指定した場合、Mozilla は対応していますが、Windows IE 5〜6 や Mac IE 5 では表示されないという問題があるからです。text/xml としても IE では DTD の読み込みエラーが出てしまうので、現実的には text/html を指定するしかありません。HTTP レスポンスヘッダと meta 要素の指定が食い違っているのもまずいだろうということで、今まで meta 要素にも text/html を指定してきました。

しかし、XHTML に限らず、本来 MIME タイプは HTTP レスポンスヘッダで指定されるべきなので meta 要素で指定する必要はないのです。(そもそも HTTP サーバが解釈するためにあるのですが、多くのサーバではそのような実装はされていません。)が、meta 要素の指定しか理解しない旧式のソフトもあるため meta 要素も記述するということが慣例となっています。私もそのような感覚で XHTML1.1 文書に meta 要素を記述していました。しかし「Re: XHTML1.1のMIMEタイプ(2)」を読んで、記述すべきでないという意見を知り、考えた結果削除することにしました。

ローカルに保存した HTML ファイルを利用する際は、レスポンスヘッダは無いため、ブラウザが meta 要素を考慮してくれるのは有り難いのですが、XHTML では XML 宣言で文字コードを指定しているので、この点では問題ないでしょう。

それにしても、Another HTML-lint で、XHTML1.1 文書の HTTP レスポンスヘッダ指定が text/html だと警告が出るようになってしまいました。これは、W3C の文書 “XHTML Media Types”和訳)に基づいていると思いますが、application/xhtml+xml を指定できない現状ではどうしたものでしょうか。Apache の設定でブラウザを判別して、レスポンスヘッダを変えられればよいのですが。

6 Comments

  1. XHTML 1.1文書にmeta要素でtext/htmlを書くことについて

    XHTML 1.1をtext/htmlで提供する場合にはmeta要素でtext/htmlを記述しても良いと思います。

    トラックバック by 徒書2004-02-7 07:32

  2. >text/xml としても IE では DTD の読み込みエラーが出てしまうので、現実的には text/html を指定するしかありません。

    回避策ありますよ。DTDとツリー表示になってしまう回避策が。
    http://nazo.europe.webmatrixhosting.net/#ie

    コメント by 2004-02-9 17:57

  3. 謎さん、有難うございました。
    なるほど、そんな回避策があったのかと目から鱗です。
    とはいえ個人的には、正直そこまでするほどのことも無いかな、と。
    ご紹介の記事は大変参考になりました。サイトの他の記事も勉強になります。

    コメント by 津田ふみか2004-02-10 10:47

  4. XHTML1.1とレスポンスヘッダ

    XHTML1.1とレスポンスヘッダ

    トラックバック by 中の技術日誌2004-12-30 15:24

  5. 最近 html4.01 -> xhtml1.1 へ移行して、
    同様の悩みをかかえました。

    Another HTML-lint の URL が異なるようですので、一度、ご確認下さい。

    コメント by tyuu2005-10-2 13:55

  6. ご指摘ありがとうございます。リンク修正しました。

    コメント by 津田 ふみか2006-01-1 09:12

Sorry, the comment form is closed at this time.

34 queries. HTML convert time: 0.068 sec. Powered by WordPress. Valid XHTML
Copyright © 2003-2017 @ futuremix.org ログイン