• ベストアンサー

HTTPリクエスト・レスポンスヘッダとは?

こんにちは。お世話になります。 HTTPリクエストヘッダとレスポンスヘッダは通信において、HTMLファイルの前に送られてきて、その後HTMLファイルが送られてくる、と聞いているのですが、HTMLファイルの<HEAD></HEAD>タグの間に書く、<META ~>の情報とは、別物なんでしょうか? 別物だとしたら、<META ~>はどういう意味をなすのでしょうか? 誰か分かる方が見えましたら、教えてください。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Adams2001
  • ベストアンサー率67% (70/103)
回答No.2

META要素は、その文書に関する情報(メタデータ)を定義するものです。意味は色々あります。 http://www5d.biglobe.ne.jp/~quia/tech/html/meta.html その色々あるメタデータのうち、http-equiv属性を指定したものはそのメタデータをHTTPレスポンスヘッダに反映させる(出力する)ことになっています。例えば <META http-equiv="content-type" content="text/html; charset=Shift-JIS"> とあれば、ウェブサーバはレスポンスヘッダに content-type: text/html; charset=Shift-JIS を出力してくれるわけです。ただし、ウェブサーバによってはこの機能をサポートしていません(結構こういうサーバが多いです)。 そのため、一部のブラウザ(というか主要なブラウザ)はレスポンスヘッダにメタデータが含まれていなかった場合、ブラウザ自身がhttp-equiv属性を持つMETA要素を解釈してくれます。

kamkamkam3
質問者

お礼

どうも、ご回答ありがとうございます。 大変、わかりやすくとても助かりました。HTTPヘッダの本を読んでいたのですが、<META ~>と同じ部分があったので、どういうことなのかな?と本を読んでいて、思っていたのです。 >http-equiv属性を指定したものはそのメタデータをHTTPレスポンスヘッダに反映させる(出力する)ことになっています ↑のおかげさまで、大変すっきりしました。 その他の部分も(ブラウザの話)も大変勉強になりました。詳しい方ですね。専門家の方ですか? どうもありがとうございました。またよろしくお願いします。

その他の回答 (1)

  • ta-nuki
  • ベストアンサー率44% (15/34)
回答No.1

HTTPリクエストヘッダとレスポンスヘッダはtelnetでwebサーバに接続すると見れます。 コマンドラインから telnet www.okweb.ne.jp 8080 でHTTPサーバに接続し、手動で以下のリクエストヘッダを入力すると、レスポンスが帰ってくるはずです。 GET / HTTP/1.0 User-Agent: Telnet [ja] Host: www.okweb.ne.jp (リターン2回) HTTPは単にファイルをやり取りするだけのプロトコルです。 <META ~>はHTMLのタグで、HTTPとは関係ありません。<META ~>はwebブラウザが受け取ったhtml文書をどう解釈すべきかを記述する部分です。

kamkamkam3
質問者

お礼

どうも、ご返事ありがとうございます。 面白い方法を教えていただいて。とても感謝しております。今度、色々なサイトで上記の方法を試してみて、結果を見てみようと思います。 okwebに接続したら、HTMLが長すぎて、ヘッダの部分がみれませんでした。。。 また、今度がんばってみようと思います。ありがとうございました。

関連するQ&A

  • HTTPリクエストヘッダーの設定と遷移

    1.HTTPリクエストヘッダーって、任意の項目名で値を設定する事ができるのでしょうか?   その場合、どのような設定方法(タグ?)になるのでしょうか。 2.HTTPリクエストヘッダーにある情報を設定し、   そして、そこから別のページに遷移しその別のページで、遷移前に設定していた   HTTPリクエストヘッダーの情報を読み込みたいのですが、実現可能でしょうか?   また可能な場合、例えば、Javascript、HTMLなんかを利用して可能でしょうか? 初歩的な事かも知れませんが、よく分からず困ってます。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • レスポンスヘッダとエンティティヘッダの意味

    HTTPのレスポンスヘッダとエンティティヘッダの意味を教えてください。 参考書には、エンティティヘッダはリクエスト・レスポンスと載ってましたが、リクエスト時、レスポンス時にもエンティティヘッダが付くということでしょか? また、ステータスコードは、レスポンスヘッダで返されるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • HTML
  • HTTP レスポンスヘッダ

    URLを指定してHTTP レスポンスヘッダ等が確認できるサイトで、 Request typeをGETやPOSTが選択可能なところを探しています。 少し探した結果、 http://web-sniffer.net/ というところが見つかりましたが、このようなサイトが他にもあれば教えてください。 宜しくお願いします。

  • HTTPレスポンスヘッダとは?

    私は趣味でHPを製作している者です これに関して全く無知ですのでカテがよく判りません…。 私は最近、HTML1.0FramesetからXHTML1.0TransitionalでHPを 製作変更しました。 ウェブ標準という響きと正確な記述と言う事で移行したのですが ある本に載っていたサイトの文法チェッカー (http://openlab.ring.gr.jp/k16/htmllint/htmllint.html) をやったところ HTTPレスポンスヘッダはtext/htmlで HP記述がapplication/xhtmlで違っているという間違い と出たために関連するタグ(iframe,scroll等)含めて 結構な文法ミスと出てしまいました。25個ですが HTTPレスポンスヘッダというのは簡単に閲覧、変更等出来るもの なのでしょうか?少し調べてみたのですが、 「プログラマー等の職種の人は結構閲覧するけど、 それ以外の人には殆ど関係ない」的な事が書いてあったのですが HPを製作する際気にしないで良い要素なのでしょうか? 知っている方が居りましたらご回答下さい。

    • ベストアンサー
    • HTML
  • HTTP通信の詳細を知りたい

    PHPで他ドメインのページの情報を取得しています。 その際に、HTTP通信のリクエストヘッダ、レスポンスヘッダの詳細を見たいです。 イメージとしては、firefoxの「firebug」とか「live http header」で取得できる情報量がほしいです。 現在、http通信でhttp_clientを使っています。 http_clientのcurrentResponse()でレスポンスは取得できるのですが、 クッキー情報などが入っていないです。 一番知りたいのは、リクエストヘッダです。 PHPを設置しているサーバーからどのようなリクエストヘッダを送っているのかを知りたいです。 というのは、設置しているサーバーによって同じページにリクエストを送っているのに、返ってくる情報が変わるときがあります。 PHPプログラムは全く同じです。 サーバーはさくらインターネットの共有サーバーを3つ契約しており、 3つのサーバーに同じプログラムを置いてHTTP通信しているのですが、 取得できる情報が異なっていて困っています。 恐らく、リクエストの何かが違っていると思うのでそれを調べたいと思って 質問しました。 そもそも原因が違うところにありそうであればアドバイスもお願いします。 よろしくお願いします。

    • 締切済み
    • PHP
  • モジュールを使ってリクエストヘッダーの表示をさせたい

    宜しくお願いします。 ウェブサーバーにリクエストを送った際、 リクエストヘッダ レスポンスヘッダとあると思うんですけど、 レスポンスヘッダは下記の形で表示できるのですが、 リクエストの際のヘッダ情報(HOST:やReferer:など)を表示させる事ができません。 どなたか、モジュールを使った形でリクエストヘッダを表示させるプログラム記述をご教授願えませんでしょうか。 ※下記は実際にテストを行っているリクエストヘッダとレスポンスヘッダとソースを表示する記述例です。(レスポンスヘッダは正常に表示できているとおもうのですが・・。) #!/usr/bin/perl use HTTP::Request::Common qw(POST GET); use LWP::UserAgent; use HTTP::Cookies; my $ua = LWP::UserAgent->new; my $req = $ua->request(HTTP::Request->new(GET => "http://localhost/")); print "Content-type: text/html\n\n"; print $req3->headers_as_string([$endl]);#これを追加し表示される情報はリファレンスっぽくなってしまうのと、 #リクエストヘッダのHOST:やReferer:UserAgentなどの情報が入ってないので、 #モジュールを利用してリクエストヘッダを表示させてみたいです。 print $req->as_string; リクエストヘッダーのイメージは下記のような情報だと思うのですが、モジュールを使って表示させる事はできないでしょうか どなた様かご教授の程宜しくお願い致します。 HTTP/1.1 Accept: */* Referer: http://okwave.jp/search.php3 Accept-Language: ja User-Agent: Mozilla/4.0 (compatible ; MSIE 6.0; Windows NT 5.0) Host: okwave.jp Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/html; charset=Shift_JIS

    • ベストアンサー
    • Perl
  • HTTP POST によるレスポンスCGIについて

    HTTP POST によるレスポンスCGIについて いつも大変お世話になっております。 タイトルのシステムの組み方についてご質問がございます。 「内容」 決済システム会社からのリクエストに対するレスポンスを返すCGIを作成します。 「仕様」 通信方法:HTTP POST キャラクタセット:Shift-JIS text/csv(←ここの意味もわかりません) 仕様書には 「Httpリクエストに対するレスポンスとしてHTTPボディ部に記述してください」 例) 処理OKの場合:OK,    処理NGの場合:NG,既に完売済み CSV形式(カンマ区切り) とあります。 私のスキルとしては、「html」「PHP」が書ける程度です。 javaやPerlは全然分かりません。 仕様は単純かと思いますが、リクエストに対して自動でレスポンス(OKかNG)を返す仕組みが分かりません。 ご教授願いますでしょうか。

    • 締切済み
    • CGI
  • HTTPリクエスト

    JSPのクライアントからサーブレットにHTTPリクエストを送信する部分について、質問させていただきたく思います。 [実現したいこと] ・クライアント側からのHTTPリクエストのヘッダの内容を、任意のものに書き換えてサーブレットに送信。 [環境] WEB APサーバー:Web Sphere Aprication Server HTTPヘッダを読み取って、ヘッダ内のクライアント情報を元にクライアント別の処理を振り分ける機能を作ったのですが、そこの機能をテストするのに上の機能を使いたいと思ってます。。。 皆様のお知恵を拝借できればと思います。 よろしくお願いいたします。

  • HTTPリクエストのリクエスト行部とデータ本体部

    HTTPリクエストには (1)「HTTPリクエスト行」 (2)「HTTPヘッダー」 (3)「データ本体」の3つのパートがあると思います。 これらのうち、「データ本体」について質問です。 クライアント側から、 formのinputタグにリクエストパラメータをセットしてsubmitしたとき、 サーブレット側ではgetParameterで値を取得していますが、 これは、(3)「データ本体」から取っているのでしょうか? (1)「HTTPリクエスト行」から取っているのでしょうか?

    • ベストアンサー
    • Java
  • HTTPのExpiresヘッダーについて教えてください。

    HTTPのExpiresヘッダーについて教えてください。 画像が多いサイトを運営していて、リクエストの数を減らすためにExpiresヘッダーを追加しました。 僕の予想としては、一度キャッシュされればCache-Controlのmax-ageの期間はリクエストが上がらないと思っておりました。 実際、FirefoxのFirebugで確認をするとリフレッシュするたびにリクエストが飛んでいました。 WebサーバはIISを使用しており、EtagとExpiresが両方レスポンスされていたので優先順位の問題かと思いApacheでEtagを出さない設定にして試してみても同じ状況になってしまいます。 僕の理解としてはExpiresとCache-Controlを付ければ、有効期限の間はキャッシュを使用してリクエストは飛ばないと思っていました。 調査するにも行き詰まっており、何かヒントがいただければと思います。 よろしくお願いいたします。