- - PR -
index.html の名前を取得できますか
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-08-25 16:29
はじめまして、ちびすけです。
いろいろ調べてみたのですが、どうしても解らないので、 ちょっと質問させて下さい。 例えば、http://www.hogehoge.co.jp/ というURLから、 トップページのファイル名(通常index.html)を 取得する方法が解りません。 どなたかご存じであれば、ご教授下さい。 以上、よろしくお願い致します。 | ||||
|
投稿日時: 2004-08-25 16:34
???おっしゃりたいことがよく分からないんですが、 "http://www.hogehoge.co.jp/"という「ディレクトリに対するURL」を "http://www.hogehoge.co.jp/index.html"という「ファイルに対するURL」に マッピングさせているのは、http://www.hogehoge.co.jp/を提供している HTTPサーバです。 # 設定しだいで、例えば"index.html"ではなくて"HomePage.html"にマッピング # させることもできます。 ですから、HTTPクライアントがこのマッピングを知る方法は無いと思います。 そもそも、なぜこのようなことをやりたいと思われたのでしょうか?? もしかしたら、他にも望みのことを実現するやり方があるかもしれません。 | ||||
|
投稿日時: 2004-08-25 16:39
Apache などのはそういったリクエストに対して直接レスポンスを返しますので実際のファイル名がどのようなものであるかはわかりませんね。
私が知っている限り WebLogic Server は適切な welcome ページへリダイレクトしますのでレスポンスヘッダを見れば分かります。 どのような Web サーバに対しても有効な方法はないでしょう。 | ||||
|
投稿日時: 2004-08-25 16:57
おばけさん、インギさん、早速の返事ありがとうございます。
やりたいことは、リンクチェックのようなプログラムを作成しているのですが、 指定されたURL以下のHTMLにて、トップページへのリンクを "http://www.hogehoge.co.jp/" と "http://www.hogehoge.co.jp/index.html" を混在して記述している場合、プログラム側で同じファイルを指している事を 判断したいのです。 index.html等のトップページのファイル名を取得出来れば、 判断可能かと思い質問しました。 他に、何か良い方法等ありますでしょうか? 以上、よろしくお願い致します。 | ||||
|
投稿日時: 2004-08-25 17:35
URL自体及びHTTPサーバへの通常の問い合わせからサーバ内の実体を判断する方法は無いのではないかと思います。「http://hogehoge.com/foo/bar.html」というURLであっても、実体は別Serverに配置されているServletであるかも知れません。 実際にHttpRequestを発行してみて、結果内容の比較から「同じであるかも知れない」という推測をするくらいが限界ではないでしょうか? | ||||
|
投稿日時: 2004-08-25 17:39
HTTP レスポンスヘッダの Last-Modified, ETag, Vary あたりが使えるかもしれません。
よく読んでいませんが、RFC2616 (http://www.faqs.org/rfcs/rfc2616.html とか)の 13.3 Validation Model あたりが参考になりそうです。 (日本語訳は http://www.studyinghttp.net/ あたりから探してみてください) ようは、ファイルが「ユニークであること」を調べるのって、 キャッシュ(WWWブラウザのクライアントキャッシュや、WWWプロキシのキャッシュ) がやってるので、それを利用できないかと思うわけです。 | ||||
|
投稿日時: 2004-08-26 01:17
なるほど。302を返すってことですね。 いちおうそういう可能性もあるかなとは思っていましたが、実際にそういう実装を しているHTTPサーバもあるんですね。参考になりますです | ||||
1
