1)「?」から始まるのはどういう事なのでしょうか?
セキュリティやSEOなどの問題からrewriteなどのMODで隠しているのでしょうか?
http://www.hogohogo.com/hogo/?action=hoge&ID=123
2)拡張子がないですが、これも同様にMODで拡張子を隠しているのでしょうか?
http://www.hogehoge.com/search?hl=ja&lr=lang_ja&ie=.........
1) http://q.hatena.ne.jp/ は/で終わっています。
apacheであればDirectoryIndexディレクティブでファイル名省略時のアクセス対象を指定できます。
http://httpd.apache.org/docs/2.2/mod/mod_dir.html#directoryindex
index.phpを指定しておけば以下の2つのURLは同じものになります。
http://q.hatena.ne.jp/?hoge=fuga
http://q.hatena.ne.jp/index.php?hoge=fuga
2) 拡張子が無くても、強制的に他の拡張子だと認識させる方法があります。
http://httpd.apache.org/docs/trunk/mod/core.html#forcetype
ま、rewriteの可能性もあるでしょうね。
要するに、いろんな方法があるということです。
1) http://q.hatena.ne.jp/ は/で終わっています。
apacheであればDirectoryIndexディレクティブでファイル名省略時のアクセス対象を指定できます。
http://httpd.apache.org/docs/2.2/mod/mod_dir.html#directoryindex
index.phpを指定しておけば以下の2つのURLは同じものになります。
http://q.hatena.ne.jp/?hoge=fuga
http://q.hatena.ne.jp/index.php?hoge=fuga
2) 拡張子が無くても、強制的に他の拡張子だと認識させる方法があります。
http://httpd.apache.org/docs/trunk/mod/core.html#forcetype
ま、rewriteの可能性もあるでしょうね。
要するに、いろんな方法があるということです。
なるほど。色々なサイトでこの手法を見かけますが、流行っているんですかね。
?以降はGETメソッドのパラメータになってます。
要はCGIにデータを送るときURLデータを乗せれるためリンクするとき便利ということです。
たとえば、以下URLはGoogleで「あいうえお」の検索をしたときの状態になります。
http://www.google.co.jp/search?q=%E3%81%82%E3%81%84%E3%81%86%E3%...
拡張子がないのはGoogleの場合ならただ単にそれがCGIとわかっているから付けてないだけなのでは・・・とか思ってますが。。。(Linuxでは実行ファイルに拡張子がついてないようです。CGIもGoogleなどの大規模サービスならばC言語などで作るのが普通ですから)
> http://www.hogohogo.com/hogo/?action=hoge&ID=123
これはindex.htm/index.html/default.htm類と同様に
index.cgiやindex.phpなどのようにファイル名省略で
ディレクトリリクエストされた際のデフォルトドキュメントが
サーバ側で設定されているだけです。
UNIX/Linuxでは拡張子は関係ないので単純にsearchという
ファイルに実行権限がついているだけじゃないでしょうか。
# そもそもから拡張子に特別な意味がある(拡張子とファイルの
# 種類を関連づけるなど)のはMS-DOS/WinOSだけで、MacOSも
# 含め、多くのOSでは拡張子は単なるファイル名の一部に過ぎま
# せん。
# (拡張子を変更してもファイル自体の種類の情報は失われない)
どちらもURLの問題ではないですね。
なるほど。色々なサイトでこの手法を見かけますが、流行っているんですかね。