HTMLのimgタグで画像を呼び出す際、画像ファイルに拡張子(gifとかjpgとか)を書くことは決まりごとですか?


もちろん、画像内のデータが正しく、かつ、ブラウザがサポートする形式であれば拡張子があろがなかろうが表示できるでしょうし、GDで動的に書き出す際などはHTTPヘッダにMIMEタイプを指定して書き出したりしますよね?
現状の技術上?は問題ないと思いますけど、これってHTML上正しいことなの?というのが疑問です。
教えてください。よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:2006/07/31 23:23:47
  • 終了:2006/08/01 04:16:59

回答(2件)

id:Fooolean No.1

Fooolean回答回数5ベストアンサー獲得回数02006/07/31 23:41:23

ポイント100pt

全く問題ありません。

HTML4の仕様書(邦訳:http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/struct/obj...)には、src属性の属性値は”RFC2396で定められたURI”というように規定されており、そのRFC2396(邦訳:http://www.y-adagio.com/public/standards/tr_uri_2396/rfc2396...)では、拡張子の有無については規定されていないので、HTML上でももちろん問題ありません。

id:masashi0316

あぁ、すっきりしました。ありがとうございます!

2006/08/01 03:35:01
id:kurukuru-neko No.2

kurukuru-neko回答回数1844ベストアンサー獲得回数1552006/08/01 00:15:56

ポイント100pt

<IMG src="xxxxx.gif">

の記述がHTMLにある場合

WEBサーバーは、".gif"の拡張子のファイル

をブラウザーに送信する場合HTTPプロトコルで

データを送信します。

===================================

HTTP/1.0 200 Okay

Content-Type: image/gif

Content-Length: xxxx


.... GIFの中身

===================================

サーバー側で、HTTPの

GET xxxxx.gif

要求されたときの処理を実行しているだけなので

GET xxxx.yyy

GET ./xxxx/xxxx.cgi

のように.yyyや .cgi に関する処理がサーバ側

で処理できれば特に問題はありません。

ブラウザは、"Content-Type"を見て表示している

だけなので。

http://jp2.php.net/manual/ja/function.imagegif.php

id:masashi0316

これもまた、明確な答えでありがたいです。

試してみました。

画像ファイルを"image"(拡張子なし)としてアクセスすると

IEでは表示されますが、ヘッダーはContent-Type: text/plainで返されます。

ブラウザ側がファイル内のヘッダ情報などから判断して画像として表示してるんでしょうね。

最終的には、前段RFCより拡張子ありなしなどは関係ない。

しかし、拡張子で返す情報をサーバ側が選択することがある。

なので、サーバ側で設定された拡張子を用いるのがよい。

CGIやPHPで書き出すときはちゃんとHTTPヘッダを指定してあげる。

書くとあたりまえですね(笑)

なんか、変なほうに頭がまわってたみたいです。

お二方ともありがとうございました。

2006/08/01 04:16:14

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません