![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_01.png?5a7ff87)
No.3ベストアンサー
- 回答日時:
>header関数によるヘッダ送信に併せて
>HTMLのメタタグでhttp-equivも記述すべきなのでしょうか。
>また万一それぞれの記述が一致しない場合にはどちらが優先されるのでしょう。
スジ論でいえば、http-equivは、HTTPヘッダの「相当物」であって、HTTPヘッダに書いておけば、METAタグに書く必然性はないと思います。
ただし、Content-TypeはHTTPヘッダとMETAタグの両方に書くことが多いです。HTML4.01の仕様では、Charset指定は、METAタグよりもHTTPヘッダの記述を優先すべきと書いていますが、古いブラウザにはHTTPヘッダを無視するものがあります。そのようなブラウザでも文字化けせずに表示されるよう、METAタグにも記述をします。
この例のように、何らかの規格上「METAタグにも記述すべき」とはなっていないけれども、ブラウザの実装は様々なので、METAタグにも書いておいた方が安心という程度のことだと思います。私も、文字化けや、キャッシュ防止などの、重要な情報については、HTTPヘッダとMETAタグの両方に書いていました。
蛇足ですが、Content-Style-Type、Content-Script-Typeなどは、METAタグの方にのみ書くことが多いと思います。この二つは、デザイナやHTMLを作る人(HTTPヘッダを直接いじる権限が無い人)が、設定できた方が便利だという事情もあるのかなと思います。
fdsjaklfjas様の回答ではHTTPヘッダを無視するブラウザがあり、
PED02744様の回答では、メタタグを無視するブラウザがある
・・・ということは、結局両方書いておくのが一番なのですね。
Content-Style-Typeなどは、確かにHTTPヘッダに書いてあるのを
見たことがありません。
詳しい回答ありがとうございました。
No.2
- 回答日時:
基本的にNo.1さんのおっしゃっているとおりかと思います。
ブラウザが認識するまでの動作=ヘッダ
ブラウザが認識した後の動作=メタタグ
なので、基本的には両方に書くべきです。
ただし、IEはお馬鹿なので、、、、(^_^;)
絶対に32KB分のデータは読み取ってしまうようです(笑)
つまり、小さなHTMLファイルだと、META http-equivだけでは
いくら no-cacheにしてても、キャッシュしてしまうということです(^_^;)
ということで、MSの推奨は、
「ヘッダセクションをもう一回</BODY>の後に書いてくれ」という
すごい回答です(笑)
http://support.microsoft.com/kb/222064/JA/
また、http-equiv はie5等では無視されますので、IEだけがターゲットなら、ヘッダに書くだけで良いと思います。
No.1
- 回答日時:
メタタグでも記述すべき
優先は・・・(どちらも正しいなら)・・・受ける時の挙動をheader送信で(物によってはDLになったりする)、受けた後の挙動(主に描画)がメタタグかと。
自信ないからここは誰かもっと詳しい人にパス・・・
ありがとうございます。
両方書いておいたほうが確実ということですね。
大手サイトのHTMLを見ていると、http-equivの記述がない場合があります。
(DTD宣言もなかったりする)
こういうのは先にスクリプトから出力してるためかな、と思ったのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux redmineにメールを飛ばす方法 1 2022/09/13 22:02
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- その他(プログラミング・Web制作) bashのgrepで複数の検索、かつスクリプト内で改行する方法を教えてください。 1 2022/10/06 20:09
- HTML・CSS imgとpを縦・横に中央揃えする 1 2023/01/17 11:30
- HTML・CSS cssの display: flex;で横並びにならずに困ってます 1 2022/12/04 13:18
- HTML・CSS html cssのmargin 5 2022/12/03 11:04
- その他(プログラミング・Web制作) Pythonで、データファイルと列名ファイルを1つのファイルにしたいです。 1 2023/07/27 20:29
- UNIX・Linux テキストファイルをページ番号付きでコマンドラインから印刷したい 1 2023/02/22 12:47
- PHP 掲示板のセキュリティについてアドバイスお願い致します 1 2023/08/11 20:44
- その他(パソコン・スマホ・電化製品) ワードでテキストボックス内の文字を連動させない方法 2 2023/02/09 16:56
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
csvファイル出力時に文字化けし...
-
XMLのロードに失敗する
-
PHPのif文でその処理を途中で抜...
-
【file_exists】ファイルが存在...
-
onedrive にexcelファイルをア...
-
拡張子php画像をjpg画像等に変...
-
youtubeに音声のみのmp4ファイ...
-
PHPのMySQLモジュールのインス...
-
pixivのイラスト投稿の仕方を教...
-
javascriptからphpへ変数
-
PHPで作るフレーム、どんな風に...
-
PHPで外部プログラムのバックグ...
-
FTPでのファイルとディレクトリ...
-
ファイルアップロードの上限を...
-
フレームワークの選定について
-
ヒアドキュメントの中で別ファ...
-
PHP8を使うと、大量のWarningが...
-
さくらサーバーにて、phpからメ...
-
PHP MySQLに画像を直接保存
-
localhostでphpのページが表示...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EclEmmaレポートのエクスポート...
-
PHPで韓国語の表示がうまくいき...
-
PHPExcelバッファへの書き込み...
-
文字コード変えたら、fopenでき...
-
HTTPヘッダはメタタグにも記述...
-
Eclipseで文字化け
-
csvファイル出力時に文字化けし...
-
phpで動的タイトル
-
文字集合範囲外の文字とパーセ...
-
phpログファイルの文字化けにつ...
-
PHPで「®」や特殊文字のエスケープ
-
phpフォームで文字化け
-
Google Chromeで文字化け
-
発生した文字化けに対する対処
-
サーバーにアップすると文字化...
-
GEEKLOG(ギークログ) 文字化け
-
PHP time()に関しての質問です
-
文字化けについて
-
UTF8のページでIEがシフトJISを...
-
batファイルでうまく動かないプ...
おすすめ情報