ネット上のWebページのURLを見ると、
http://japan.jp/about
のように、ファイル名の末尾が/でもなく、拡張子でもないものに出会うことがあります。
あれって、aboutディレクトリにindexファイルが格納されており、aboutに行くとindexに自動的に飛ぶということなのでしょうか?
(つまり、about/index.(拡張子)と書いてもよいのだがaboutで済ませているのか?)
上記が正しいとして、
http://japan.jp/about/
のように、/を末尾につけなくてよいものなのでしょうか?(むしろつけないほうがよい?)
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
まあ、マルチなんだろうけど、
http://detail.chiebukuro.yahoo.co.jp/qa/question …
こちらの回答をどうぞ。
上記の知恵袋のURLもそうだし、例えば2ちゃんねるのスレッドのURLもそういう感じですね。
フィレオフィッシュバーガーだけど質問ある?
http://hayabusa.2ch.net/test/read.cgi/news4vip/1 …
「rad.cgi」に「/news4vip/1381282625/」というパラメータが渡され、処理されてスレッドが表示されます。
No.2
- 回答日時:
サーバーから送られてくるデータは、ヘッダーと本体になっています。
これはどのネットワーク上の通信も同じです。(Windows以外は内部での転送もほぼ同じです。)
そのディレクトリにあるこの条件に合う物はこの様に処理しろと指定できるOSがほとんどです。拡張子が.htmlならプログラムとして処理しろとか、HTMLと処理しろとか、abcで始まるすべてのファイルはこうしろとか)。Windowsだけが特殊なのです。
HTTPサーバーは、HTTPリクエストで、URIを受け取るとします。分かりやすいので例を示します。
極めて単純な機械的処理をしているだけです。
GET: /abc/efg/hij?klm ←(ブラウザはhttp://hoge.com/abc/efg/hij?ABC#EFG #以降は送られない)
1) ?移項[klm]はQuery_Stringと言われるものでサーバー側での処理に使用されます。
サーバーは、環境変数QUERY_STRINGに格納
2) hijがファイルならhijを処理します。(※1後述)
hijがディレクトリなら、それを開いて[指定されて処理を行います]
a) ディレクトリ一覧を表示なら、ファイルの一覧を表示(最近は少ない)
b) 特定のファイルを処理する指定(※2後述)があればそれに従う
c) ファイル名の指定がない場合は404(Not Found)を返す。
3) hijがファイルでもディレクトリでもないときは環境変数PATH_INFOに格納して
efgについて(2)の処理を繰り返す。
4) efgがファイルでもディレクトリでもないときは環境変数に/efgを格納して
abcについて(2)の処理をします。
5) 最後に/について同様・・
※1)処理について
そのディレクトリについて、そのファイルはHTMLやtextとして処理すると指定されていれば、そのまま送信する。(デフォルトはtext/plainです)
※2)について
実行ファイルとして処理する指定なら、実行プログラムに引き継ぐ。実行したプログラムが応答ヘッダに text/htmlとすれば、ブラウザはHTMLとして受け取る。image/jpegなら画像と言う風に拡張子は関係ない!!
【実装】
・PATH_INFOは、ふるくから、とてもたくさん使われています。量的には最も多い
新聞社の記事
Wikiの記事
この掲示板「okWeb」や「教えて!goo」など
などは、PATH_INFOと考えて良いでしょう。いちいちページを作らなくても動的に作成されるので楽です。数十ページを越すような大規模なサイトはこれが多い。私も基本これ使ってます。
・QUERY_STRINGは、掲示板や検索エンジンなど
多くの個人の掲示板
検索エンジン
・ディレクトリ名
上記(2)の処理になります。ワンステップとはいえサーバーに負荷がかかるので他人に示すときは/や、/index.htmlなどを付けると良い。
★拡張子は一切考えなくて良い。(Windowsしか知らないと間違うけど)
[例]
http://hpcgi1.nifty.com/Iruka/ENV_FORM.cgi
の後に任意のものを付けてみる
http://hpcgi1.nifty.com/Iruka/ENV_FORM.cgi/about
http://hpcgi1.nifty.com/Iruka/ENV_FORM.cgi/about/
http://hpcgi1.nifty.com/Iruka/ENV_FORM.cgi/selfl …
http://hpcgi1.nifty.com/Iruka/ENV_FORM.cgi/?name …
すべて、応答ヘッダはtext/htmlなのでHTMLとして処理される。
★もしURLにファイル名や/がついてなくても、何もせずそのまま利用するのが良い
No.1
- 回答日時:
まず、次の2点に注意しましょう
・ファイル名に .~と拡張子があるとは限らない
・URLに書いてあるものが、実在のファイル/ディレクトリとは限らない
HTTPサーバーには、URLを加工して、別の内容として処理する機能があります。
そのURLから、よくあるパターンは
(1) about というファイルが実在して、それが送信される。
拡張子はあくまでファイル名の一部であり、拡張子が無いからと言ってファイルではないと決めつけることはできない
(2)about というディレクトリが実在して、ディレクトリにアクセスしたら、そのディレクトリのindex.html,default.html等特定のファイルを送信するように設定されている
/about → /about/ ディレクトリ → /about/index.html 等となります
(3)aboutというファイルもディレクトリも存在しない。 CGI等にパラメータとして渡される
/about → /document.php?page=about 等といった変換をします
昔は (2)が多かったのですが、最近は(3)が多いと思われます。
それを考えると、「指定されたそのまま」がよいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 代名詞を文末に置くことができる条件について 1 2023/04/11 15:57
- Ruby No route matches [GET] "/posts/5/destroy" 1 2022/03/24 13:00
- 英語 提示文の表現の可否について 2 2022/08/17 22:03
- 英語 共通の前置詞の目的語を持つ前置詞句を列挙する際の表現方法について(省略の位置と方法) 3 2023/08/24 09:40
- Windows 10 指定したファイルを任意の範囲のディレクトリ内に上書き保存したい 1 2022/11/24 10:42
- その他(プログラミング・Web制作) 置換ソフトで指定したファイルの1行目に入力できるものを探しています 7 2022/11/24 10:34
- 英語 提示文の"about"の効果について 5 2023/03/16 09:55
- 英語 to make about 3 2022/10/30 14:17
- TOEFL・TOEIC・英語検定 to make about 1 2022/10/25 13:06
- Excel(エクセル) 【VBA】フォルダAにある2つのファイルの内1つを、フォルダBへ。もう1つを、フォルダBへ移動したい 6 2022/07/26 08:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
1つ下の階層のフォルダに相対...
-
拡張子htmlの表示について
-
HPを転送したのですが・・・。
-
ベーシック認証 CSSリンク
-
htaccessを利用してurl正規化
-
ひとつのドメインで複数サイト...
-
リンク先に日本語フォルダがあ...
-
webサイトの「index」を非表示...
-
リンクのindex.html省略
-
既存ウェブサイトをWordPressへ...
-
Excelで、社外秘(閲覧のみ)と...
-
ホームページでファイルをダウ...
-
HTMLからフォルダを開きたい
-
iPadの標準ブラウザでローカルH...
-
<!DOCTYPE html>あってますか?↑
-
form action="#"
-
一つのリンクに複数のURLを指定
-
インラインフレーム内のアンカ...
-
コマンドプロンプトでパラメー...
-
googleドライブで、PDFファイル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
1つ下の階層のフォルダに相対...
-
複数のindex.htmlを作ってもい...
-
htaccessを利用してurl正規化
-
リンク先に日本語フォルダがあ...
-
URLに「.html」の拡張子がなく...
-
.htmと.htmlの違い
-
フォルダ内の最初のファイル名...
-
XREA使用で作成したHTMLファイ...
-
サーバー内のフォルダにある写...
-
トップページ「/index.html」の...
-
フォルダにはダミーでもindex.h...
-
htmlでリンクに勝手にindex.htm...
-
URLの書き方
-
リンクのindex.html省略
-
index.htmlファイルはどこに?
-
Application.OnTimeで引数付き...
-
ホームを index.html から inde...
-
JSPと異なるディレクトリのファ...
-
HTMLの階層移動
-
Matlabでforやifを使わずに条件...
おすすめ情報