パスとは
パスとは英語で表記すると「Path」であり、経路を意味しています。主にWebサイト上にある特定ファイルまでの道筋を表すものです。
分かりやすいもので言えば、WebサイトのURLである「https://www.〇〇.co.jp」などです。例えば、Webサイト上に登録している画像を選択すると、URLにはその画像が保存されているパスが表示されます。
このパスは書き方によって、「絶対パス」と「相対パス」の2種類に分けられます。
絶対パス(フルパス)とは
まずは、絶対パスとはどのようなものか見ていきましょう。
「目的地」となるファイルを完全に記述する方法
絶対パスでは、階層の頂点から特定のファイルまでの経路を階層ごとに全て記載します。
例えば、デスクトップにお気に入りである音楽のプレイリストがあるとします。この場合、「曲」が入っているファイルの場所は「デスクトップ>Music>プレイリスト>曲」のような形で示せるでしょう。
このデスクトップと同じように、Webサイト上でもファイルを保存する場所があります。そのファイルの場所を、絶対パスでは「ドメイン名 / フォルダ名 / ファイル名」のように示します。スラッシュで区切って具体的なディレクトリ名やファイル名を表記します。
いわば誰から見ても変わらない住所表記と言えるでしょう。
リンク切れは減るが、ローカル環境でのテストが難しい
絶対パスでリンクを記載するときは、URLをすべて書いてファイルの場所を指定するため、リンク切れになるミスを防げます。例えばリンクを記述したページを移動してもリンク先の絶対パスは変わらないためです。
しかし、基本的にWebサーバ上のURLを記述する必要があります。そのため、自分のPCなどのローカル環境では制作やテストを行えません。また、必然的にURLが長くなるため、ファイルの場所を指定する作業に時間がかかってしまいます。
相対パスとは
つづいて、相対パスとはどのようなものなのか見ていきましょう。
現在地から目的地までの「道順」を記述する方法
相対パスでは、今作業している階層を基準にして、指定したファイルがどこにあるか記述します。絶対パスと比較すると、すべての階層を記述するわけではないため、URLは短縮されることが多いです。
現在の階層よりも1つ上位の階層への移動を「../」という記号を使って表現します。2つ上ならば「../../」となります。現在よりも下位の階層は「/」で区切って具体的なディレクトリ名やファイル名を書いていきます。
例えば、絶対パスで「https://www.〇〇.co.jp/img/file01.png」と画像ファイルの位置が指定されるとします。これを、「https://www.〇〇.co.jp/contents/file01.html」から見た相対パスで指定する場合は「../contents/file01.png」となります。
ローカル環境でテストできるが、リンク切れしやすい
相対パスの場合、Webサーバに上げずに作業を行えるため、ローカル環境のブラウザで制作やテストを行えます。そのため、社内サイトを構築するときなどに便利でしょう。絶対パスよりも短いURLを記述できるため、作業の負担が軽減されることもメリットです。
また、先程の例でいえば「../contents/file01.png」のみしか記載していないため、ドメイン名が変わっても同じ場所を指定できます。そのため、階層構造を変えずにサイト全体を移動する場合、リンクを書き直さずにすみます。
しかし、自分が今いるページの位置を起点にするため、そのページが移動するとリンク切れになってしまいます。
絶対パスと相対パスの使い分け方
最後に、絶対パスと相対パスの使い分けについて見ていきましょう。
リンク先が外部サイトのときは絶対パスを使う
相対パスはサイトを構築する際の負担を軽減し、ドメイン名が変わっても対応しやすいですが、外部サイトへのリンクを記述する場合には使えません。そのため、外部サイトを利用する際は必ず絶対パスによる記述が必要になります。
相対パスは前提として、同じサーバ内にファイルやデータがなくてはなりません。
リンク先が内部サイトのときは相対パスを使う
リンク先が同じサーバ内であれば相対パスを使えます。社内サイトなどサーバを自社で保有している場合は、作業の手間を削減しオフライン状態でも対応できる相対パスを使うのが一般的です。
また、データの書き込み命令などに関してはセキュリティの関係上、相対パスが使われます。このような命令を絶対パスで記述すると、サーバ内のファイルを外から書き変えられる可能性があるからです。
絶対パスと相対パスを区別して適切に使おう!
Webサイトを構築するときには絶対パスと相対パスの使い分けが大きなポイントになります。
基本的には、ファイル先が外部サイトのときは絶対パスを、社内のサーバにあるときは相対パスを使ってください。絶対パスと相対パスはWebサイトを構築する上で必須の知識になるため、理解を深めることが大切です。
しっかり使い分けて、効率的にWebサイトを作りましょう。