- PR -

フォームとハイパーリンクのデフォルトURL

1
投稿者投稿内容
みやも
ベテラン
会議室デビュー日: 2002/04/22
投稿数: 74
投稿日時: 2005-04-15 17:10
以下のようなコードがあって、


コード:
<html>
<body>

<form action="">
	<input type="submit">
</form>

<a href="">link</a>

</body>
</html>



このページに次のURLでアクセスしているとします。

http://hogehoge.com/dir/hoge.html


このとき、フォームとリンクで次のようにリクエストされるURLが異なります。


フォームのサブミット(「ファイル」にとぶ)
http://hogehoge.com/dir/hoge.html

ハイパーリングのクリック(「ディレクトリ」にとぶ)
http://hogehoge.com/dir/


これって、HTMLの?仕様として正しい動作なのでしょうか?それともブラウザにより違ったりすることもあるものでしょうか?
ご存知の方がいらっしゃいましたら教えてください。よろしくお願いします。


(Javaと関係ない?JSPがらみということで。。。)
(株)ぽち
ぬし
会議室デビュー日: 2002/09/10
投稿数: 376
投稿日時: 2005-04-15 23:03
引用:

みやもさんの書き込み (2005-04-15 17:10) より:
フォームのサブミット(「ファイル」にとぶ)
http://hogehoge.com/dir/hoge.html

ハイパーリングのクリック(「ディレクトリ」にとぶ)
http://hogehoge.com/dir/


これって、HTMLの?仕様として正しい動作なのでしょうか?それともブラウザにより違ったりすることもあるものでしょうか?
ご存知の方がいらっしゃいましたら教えてください。よろしくお願いします。



こんにちわ。

一体何に疑問を持たれているのかわからないのですが。。

一つのHTMLの中で複数の行き先があることは当たり前ですし、不可解なことは
ないかと思いますよ。

また、「ディレクトリに飛ぶ」ではなくて「ディレクトリ配下のwelcomeファイルに飛ぶ」
が正確だと思います。
# welcomeファイルがない場合は、listが表示されたりされなかったりしますが。


#追記

ああ、すいません。めちゃくちゃ意味をはき違えてましたね。。
つばささんの回答で意味がわかりました。

空のURLの挙動についてなんですね。申し訳ない。

[ メッセージ編集済み 編集者: (株)ぽち 編集日時 2005-04-17 01:07 ]
つばさ
ベテラン
会議室デビュー日: 2005/02/05
投稿数: 54
投稿日時: 2005-04-16 23:08
ブラウザ及び、その設定に依存するのではないかと思います。
WinXP SP2で試してみました。
(実際のリクエストはAXISのTCPMONで見てみました。)
○IE6.0SP2では
<FORMのaction=""(指定なしの)>では
 GET /dir/hoge.html?がとんでいきました。
 但し、ヘッダにIf-Modified-Sinceが付加されるため
 HTTP/1.1 304 Not Modifiedが返却されます。
<a href="">では
 GET /dir/がとんでいきました。
 WEBサーバからはリストが返却されます。

○Firefox1.0.2では
<FORM action="">も<a href="">もリクエストがサーバに
とんでいきませんでした。(のでどちらも画面はかわらず)

多分、バグ以外はこのようなJSPを作成する事はないと思いますが。。。


 
みやも
ベテラン
会議室デビュー日: 2002/04/22
投稿数: 74
投稿日時: 2005-04-18 20:21
つばささん、ぽちさん回答ありがとうございます。

なるほどブラウザ、設定により挙動が違い、空のURLの場合どうすると仕様で決まっているわけではなさそうですね。


>多分、バグ以外はこのようなJSPを作成する事はないと思いますが。。。

サンプルソースを作る場合、なるべく短い方がいいと思いまして。

例えばリロードリンクで
<a href="<%request.getRequestURL()%>">RELOAD</a>
より
<a href="">RELOAD</a>
の方がいいかなぁと。。。

ちゃんと書いた方がいいですね。
1

スキルアップ/キャリアアップ(JOB@IT)