META の主な用法

META 要素は、その HTML文書に関する情報を記述するために使われます。

HTTP-EQUIV 属性

META 要素に http-equiv属性を使うと、http-equiv属性と content属性の値が HTTP応答ヘッダに書き出されることが期待されます。たとえば、

<META http-equiv="content-type"
         content="text/html; charset=UTF-8">

と指定があれば、HTTP応答ヘッダに

content-type: text/html; charset=UTF-8

と書き出されることが期待されます。

ですから、http-equiv 属性と content属性には、HTTP応答ヘッダに書き出したいフィールド名とフィールド値を設定すれば良いわけです。どんなフィールドがどんな効果を持つのかについては、RFC2616 などを参照してください。

ただし……

ただし、実際にはWebサーバが META 要素を読み取って HTTP応答ヘッダに反映させることはほとんどないようです。その代わり、多くのユーザエージェントは META 要素を読み取り、あたかも HTTP応答ヘッダに指定があるかのように扱います。

用例

META 要素に http-equiv 属性を用いる例をいくつか紹介します。

Content-type フィールドの代替となる META

<META http-equiv="content-type"
         content="text/html; charset=ISO-2022-JP">

この指定は HTTP応答ヘッダに Content-Type: text/html; charset=ISO-2022-JP を指定するか、もしくはそれと同じ働きをします。この指定は、文書が HTML であり、文字符号化方式が ISO-2022-JP であることを示します。

特に重要なのは文字符号化方式です。多くのサーバは Content-Typeフィールドに charsetパラメータをつけることが出来ないので、ユーザエージェントに文字符号化方式を知らせるためには META で指定してやるしかありません。META の指定があれば、ユーザエージェントは文字符号化方式を正しく認識できるので、文字化けを防ぐことが出来ます。

しかしながら、この指定には別の問題があります。たとえば、プロクシサーバが文字符号化方式を変換したとき、文書内に META の指定が残っていたらどうなるでしょうか? こう言った問題について、詳しくは「charsetパラメタの勧め: HTMLにおける文字符号化スキームの明示方法」を参考してください。

name 属性

META に name 属性を使った場合、それがどう扱われるかという規定は特にありません。ユーザエージェントによって適当に利用されます。

たとえば、

<META name="keywords" lang="en"
         content="HTML,WWW,W3C">

などと書いておくと、多くのロボットはこの content の値をキーワードとして登録してくれます。

<META name="description" lang="ja"
         content="HTMLの解説らしいです。">

などと書いておくと、この値をサイトの紹介文として登録してくれるロボットもあります。


ばけらのHTMLリファレンス - 重複可能ヘッダ要素

ばけらのHTMLリファレンス

HTML鳩丸倶楽部

水無月ばけら, MINAZUKI Bakera
E-mail: bakera@star.email.ne.jp