津田ふみかさんの日記のXHTML1.1の MIME タイプ指定に、Re: XHTML1.1のMIMEタイプ(2)への言及がありました。
が、meta 要素の指定しか理解しない旧式のソフトもあるため meta 要素も記述するということが慣例となっています。私もそのような感覚で XHTML1.1 文書に meta 要素を記述していました。しかし「Re: XHTML1.1のMIMEタイプ(2)」を読んで、記述すべきでないという意見を知り、考えた結果削除することにしました。
あいやしばらく。Re: XHTML1.1のMIMEタイプ(2)で反対していたのは、application/xhtml+xmlをmeta要素で設定することであって、text/htmlについては別に反対していないつもりなのですが。その前に書いたRe: XHTML1.1のMIMEタイプでも
そんな嘘を書くくらいだったら、application/xhtml+xmlにこだわらずに、meta要素でもtext/htmlと書く方がまだましではないでしょうか。
と書いているわけで。あれ、今読み返すと「まだまし
」という言い方はちょっとひどいような(「書くほうがよいのでは」と訂正しておこう)。
実際のところ、Content-type: text/htmlで文書を提供するということは、従来のHTML向けのブラウザ(或いはUA)に対しての文書を提供する、ということになるかと思います。なので、引用した文でも述べられている通り、文字コードの判別においてmeta要素でしか判別できない古いブラウザのためにmeta要素で"text/html; charset=..."と書くことは意義のあることだと思います。
仕様としては「HTTPのレスポンスヘッダでcharsetを指定すれば十分であり、meta要素で指定する必要はない」とは言えますが。
(2004年2月7日)
北村曉 kits@akatsukinishisu.net