URNでなくても永続的でわかりやすいURIは作成可能。
URNでなくても永続的でわかりやすいURIは作成可能。
http://www.kanzaki.com/docs/Style/URI.html
で勉強したところ
- ファイル名の拡張子 - 非常に広く使われるものですが、 "cgi"はもとより、".html"も将来は変わるかもしれないものです。20年後は、そのページをHTMLで記述していないかもしれませんが、その文書への現在のリンクは、同じように有効であって欲しいと思うかもしれません。W3Cサイトへの正式なリンク方法は、拡張子を使わないことになっています。(どうやって?)
- ソフトウェアのメカニズム - "cgi"とか"exec"とかをはじめ、さまざまな「私たちはこんなソフトを使ってます」といった要素がURIに含まれています。一生PerlのCGIスクリプトを使い続けると確約したい人なんていますか? いないでしょう? ".pl"を取り除いてください。どうやったらいいのかは、サーバーのマニュアルに書いてあります。
とあり、前者は
サーバーがコンテントネゴシエーションに対応するように設定することができます。ファイルの(.pngのような)拡張子はそのまま(つまりmydog.pngのまま)にしておき、しかしウェブのリソースとしては拡張子なしで参照するように設定します。Apacheは、そのディレクトリ内で、その名前を持つ全てのファイルを、拡張子を問わずにチェックし、そしてその中から一番適切なもの(すなわちGIFとPNG)を選択することができます(異なるタイプのファイルを異なるディレクトリに格納する必要はありません。実際、そのようにした場合は、コンテントネゴシエーションは機能しません)。
とやって解決することが可能であり、後者は
http://httpd.apache.org/docs-2.1/ja/handler.html
http://httpd.apache.org/docs-2.1/ja/mod/mod_mime.html#addhandler
http://httpd.apache.org/docs-2.1/ja/mod/core.html#sethandler
から 拡張子により
Action add-footer /cgi-bin/footer.pl AddHandler add-footer .html
とするとあるが、これでは拡張子の束縛から逃れられないので
Action server-status /cgi-bin/status.pl <Location /status> SetHandler server-status </Location>
とすると場所の束縛へ移行することが出来る。
ということは
http://ipd.jjj.co.jp/patent/2002123456
を/cgi-bin/patent.plに回した後 /patent/2002123456にまわすことが出来る。
ん?ひょっとしてこのとき 2002123456というファイルが存在せずに2002123456.htmlしかないときちゃんとAction/SetHandlerは機能するのだろうか?
確認の必要があるな。