🪱metaタグはどうしてこんなに統一感がないのか?今さら聞けないhtmlの話2025/01/30に公開2件HTMLtechDiscussionYuneKichi2025/01/30少なくとも、HTML 2.0の時代からHTML 4.01まで、http-equiv属性はHTTPヘッダの補完目的に使われています。 サーバーはこの値をレスポンスヘッダに使ってもよいとされていました。 HTML 5でmeta要素にcharset属性が追加されるまで、<meta http-eqiv="Content-Type" content="text/html; charset=UTF-8">のようにメディアタイプとともに文字コードを書いていたのはこのためです。 なお、HTML 4.01までにおいて、標準となるname属性値は仕様で定義されていません。 このため、meta要素でhttp-equivが無い場合の動作は完全にUA依存でした。 ワニかず@40歳 出戻りエンジニア2025/01/31コメントありがとうございます! 大変勉強になります、歴史がかなり複雑なんですね。。。 返信を追加
YuneKichi2025/01/30少なくとも、HTML 2.0の時代からHTML 4.01まで、http-equiv属性はHTTPヘッダの補完目的に使われています。 サーバーはこの値をレスポンスヘッダに使ってもよいとされていました。 HTML 5でmeta要素にcharset属性が追加されるまで、<meta http-eqiv="Content-Type" content="text/html; charset=UTF-8">のようにメディアタイプとともに文字コードを書いていたのはこのためです。 なお、HTML 4.01までにおいて、標準となるname属性値は仕様で定義されていません。 このため、meta要素でhttp-equivが無い場合の動作は完全にUA依存でした。 ワニかず@40歳 出戻りエンジニア2025/01/31コメントありがとうございます! 大変勉強になります、歴史がかなり複雑なんですね。。。 返信を追加
Discussion
少なくとも、HTML 2.0の時代からHTML 4.01まで、
http-equiv属性はHTTPヘッダの補完目的に使われています。サーバーはこの値をレスポンスヘッダに使ってもよいとされていました。
HTML 5で
meta要素にcharset属性が追加されるまで、<meta http-eqiv="Content-Type" content="text/html; charset=UTF-8">のようにメディアタイプとともに文字コードを書いていたのはこのためです。なお、HTML 4.01までにおいて、標準となる
name属性値は仕様で定義されていません。このため、
meta要素でhttp-equivが無い場合の動作は完全にUA依存でした。コメントありがとうございます!
大変勉強になります、歴史がかなり複雑なんですね。。。