人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

●質問者: masashi0316
●カテゴリ:インターネット ウェブ制作
✍キーワード:Gd GIF HTML HTTP jpg
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● Fooolean
●100ポイント

全く問題ありません。

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上でももちろん問題ありません。

◎質問者からの返答

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


2 ● kurukuru-neko
●100ポイント

<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

◎質問者からの返答

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

試してみました。

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

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

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

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

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

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

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

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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ