Let's begin XHTML―さあ始めよう XHTML

Appendix C:URI の指定

 XHTML では,ほかの情報資源(リソース)を指し示すのに URI を使う。ここでは,よく使う URI の記法をまとめる。

URI の形式

 URI は,Uniform Resource Identifier(ユニフォームリソースアイデンティファイア)の名前が示すように,情報資源を特定するものである。その“特定のしかた”はいくつもあるが,WWW では,“http://”で始まる形式が多用される。この書式は,一般的に,

http://コンピュータ名/ディレクトリ名/ファイル名
http://コンピュータ名:ポート番号/ディレクトリ名/ファイル名

という形である。コンピュータ名は,ピリオドで区切られた名前(たとえば,“www.tg.rim.or.jp”)であったり,コンピュータを識別する番号(IP アドレス:たとえば,“192.168.1.2”)だったりする。ポート番号は,簡単にはコンピュータが通信のために開けている窓口の番号であり,通常の WWW の閲覧でも,指定したコンピュータの特定のポートを介してデータをやり取りしているのであるが,そのポートの番号を明示的に指定するときに後者の書式を使う。

 ディレクトリは,多くのコンピュータのファイルシステムと同じように木構造で階層構造(ディレクトリの中にディレクトリがあって……)になっている。ディレクトリの区切り記号はスラッシュ「/」である。

 ファイル名は,省略されることがある。省略されると,その WWW サーバのコンピュータが定めたファイル名のファイルを指すことになる。多くの場合,これは“index.html”である。コンピュータの WWW サーバソフトウェアの設定で変えられる。

 この,“http://”で始まる URI の指定には,絶対指定と相対指定がある。絶対指定はコンピュータ名からすべてを指定する方法で,このファイルであれば“http://www.tg.rim.or.jp/~hexane/ach/lbxh/lbxha3.htm”と指定したものがそれにあたる。一方,相対指定は,ある URI を基準にして指定する。

URI の相対指定

想定するディレクトリ構成。
図 C.1 [D]

 URI の相対指定を,少し詳しく説明しよう。URI の相対指定においては,特に指定がない限り現在の URI を基準とする。

 図 C.1 において,現在の URI が“http://www.tg.rim.or.jp/~hexane/ach/lbxh/lbxha3.htm”であるとする。この URI を基準に相対指定すると,このとき,

  • http://www.tg.rim.or.jp/~hexane/ach/lbxh/lbxha1.htm”は“lbxha1.htm
  • http://www.tg.rim.or.jp/~hexane/ach/lbxh/lbxha2.htm”は“lbxha2.htm

で指すことができる。“http://www.tg.rim.or.jp/~hexane/ach/lbxh/fig/figure.png”は,“fig/figure.png”と指せばよい。

 “ひとつ上の階層”は“../”で指すことができる。“ひとつ上の階層の‘index.html’”であれば,“../index.html”で指せばよい。また,“http://www.tg.rim.or.jp/~hexane/ach/ptxh/ptxh01.htm”を指したいならば,“ひとつ上の階層に上がって,そこから‘ptxh/ptxh01.htm’”であるから,“../ptxh/ptxh01.htm”となる。“../”だけならば,ファイル名を省略したものであるから,ひとつ上の階層の“index.html”などを指すことになる。“../../”のように続ければ,2 つ以上上の階層を指すこともできる。

 “./”は,特に同じ階層を指すときに使う。“./lbxha2.htm”と“lbxha2.htm”は同じファイルを指す。“./”だけだと,“(基準 URI の)現在のディレクトリ”を指すから,ファイル名が省略された形になって,ここでは“http://www.tg.rim.or.jp/~hexane/ach/ptxh/index.html”を指す。

 特に何も指定しない場合,相対 URI は現在の URI を基準にすると述べたが,base 要素を用いると基準となる URI を変えることができる。詳細は Hop step XHTML の Section 24 で述べる。