第2章 HTMLのリンク機能

第1節 この章の概要

この章では、以下の2点について詳しく説明します。
  1. 相対パスと絶対パス
  2. リンクの張り方
WWWにおけるもっとも大切な機能である"リンク".それを利用するには,まずパスを理解する必要があります.このセクションでは,パスの知識を得,実際にリンクを張るところまでを解説します.これは三木研のHomepageがCD-ROM化されるということも含めて非常に重要なことですので,しっかりと覚えてください.

第2節 相対パスと絶対パス

□□□ 相対パスと絶対パス

相対パスは,現在のディレクトリから考えて,目的のファイルなりディレクトリを指定する方法,対して絶対パスは,常にルートから考えて指定する方法です.絶対パスならば,自分がどこにいても関係が無いという利点がありますが,目的のファイルやディレクトリのある場所が,名前が変わったり移動してしまうと,どうしようもありません.しかし,相対パスならば,そのファイルおよびディレクトリとの関係にさえ配慮すれば,いくらでも移動や名前の変更が行えるという利点があります.

□□□ 相対パスと絶対パスの使い方

 絶対パスは、Uploadするサーバ(我々でいうとmikilab)の位置をしっかり書く必要があります.ということは,サーバにUploadして初めてそのリンクは機能する訳です.ちゃんとはれているかどうかのチェックはUploadしてからでないとできないわけで,少し不便です.ですから,自分のHomepage内のリンクならば,相対パスでリンクを書いた方が圧倒的に便利です.では,絶対パスはいつ使うのかというと,自分のHomepage以外のPageにリンクを張るときです.

第3節 リンクの張り方

□□□ 相対パスの書き方

相対パスは自分から見た相手の位置を記述するものです.ですから,絶対パスにはない記述の仕方があります.それが「../」です.これは親ディレクトリを指定しています.これを利用して記述します.具体的には下の3つの例を見てみてください.

@同一ディレクトリにある場合
a.html => b.html
<A HREF="b.html"> b.html </A>
b.html => a.html
<A HREF="a.html"> a.html </A>
A異なるディレクトリにある場合(1)
a.html => b.html
<A HREF="dir_b/b.html"> b.html </A>
b.html => a.html
<A HREF="../a.html"> a.html </A>
B異なるディレクトリにある場合(2)
a.html => b.html
<A HREF="../dir_b/b.html"> b.html </A>
b.html => a.html
<A HREF="../dir_a/a.html"> a.html </A>

Aのb.htmlからa.htmlへのリンクに先ほど言った「../」があります.図を見ればわかるように,b.htmlがあるdir_bディレクトリはtopディレクトリが親ディレクトリとなっています.この<A HREF="../a.html"> a.html </A>という記述は,b.htmlというファイルにとって「親ディレクトリにあるa.htmlを参照せよ」ということを示しています.

Bのa.htmlとb.htmlリンクはともに「../」を使っています.これは,a.htmlからb.htmlの場合を例に出すと,「親ディレクトリの中のdir_bディレクトリにあるb.htmlを参照せよ」と記述しているわけです.階層が深くなれば当然「親ディレクトリの中の親ディレクトリの中にあるdir_aディレクトリの中のファイルを参照せよ」という記述もでてきます.そんな場合は「../../dir_a/filename」と書きます.

□□□ 絶対パスの書き方

絶対パスの張り方は簡単です.ブラウザなどで表示されている「http://〜」というものをそのまま書き込めばいいからです.たとえば廣安先生のページにリンクを張ろうと思えば,下のように書きます.

絶対パスが相対パスと違うのは,相手のページのサーバ名から記述する必要があると言うことです.サーバ名というのは,ここでは「mikilab.doshisha.ac.jp」という部分です.



補足:他のHomepageへのリンク
□□□ LINK FREE

Homepageを作っていくと,かならず外部へのリンクというが出てきます.もっとも作りたくなければ作らずともできるものですが.で,その誰かのページへリンクを張るという行為ですが,気を付けなければならない場合があります.現時点では,リンクという行為へのルールはありませんが,リンクを張る場合はメールか何かで相手にその旨を伺うのが一般的となっています.メールを出すのは常識的に考えてリンクを張る前です.しかし,相手が個人ページであって明確な記述がない場合は,事後であっても,基本的にリンクを張ってもらうことは個人ページにとっては嬉しいことなので,そう嫌がられることはないでしょう.(しかし事前に連絡するに越したことはありません)

とは言え,気を付けなければならない場合もあります.人によってはリンクということに対してきわめて敏感な人もいます.そういう人はたいてい「リンクを張るときはメールをください」と書いていますが,そう書かれているのに勝手にリンクを張るというのは,別になんらかの法に触れるというわけではありませんが,相手との間でゴタゴタが生じる可能性もなくもありません.リンクを張るときは必ず,相手のページをよく見て,リンクに関する記述を確認しなければなりません.場合によっては人気サイトで,いちいちリンク許可のメールなどほしくない,というところもあります.

これは逆に,自分のページにそういうことを書く必要性も示しています.もし,あなたのページにリンクを張りたいと思った人がいたとき,ページにリンクに関して何らかの記述がなければ,勝手にリンクを張っていいのかどうなのか,と相手にいらぬ気をもませてしまいます.自分でなんらかの規制をかけたいのなら,その旨をしっかりと書き,そうでないなら「LINK FREE」と,どこかに記述しておきましょう.LINK FREEとは「LINKは自由」という意味です.こういうささやかな気配りで,Homepageはどんどん見る人にとって優しいページへとなっていきます.


□□□ 直リンク

直リンクとは,目的のコンテンツページへ直接リンクを張ることです.たとえば画像ページなどで,入り口に当たるページをとばして直接,画像が表示されるページへとリンクを張ることです.こういう行為に対して,規制を明示しているページは限られていますが,個人ページにおいてもあまりこのようなことはすべきでないのはわかると思います.言ってしまえば,相手が用意した玄関を通らずに突然,窓から部屋に進入するように,抜け道を設置しているようなものだからです.