• ベストアンサー

絶対パスとフルパスの違いがイマイチわかりません。

絶対パスとフルパスの違いがイマイチわかりません。 絶対パスというのはいわゆるURLのことで、URLというのはフルパスの省略されたもの、ということでいいのでしょうか。 普通にパソコンのブラウザからフルパスを使ってアクセスすると、サーバーにある関係ない情報まで見ることが出来てしまうので、指定した目的以外のフォルダをApachにより省略していわゆる普通のURLにするということですか? また、指定したフォルダを省略するためのApachとはどのようなものでしょうか。 http://www.chama.ne.jp/download/web/path.htm

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

その説明、誤解を産むといいますか、一般の意味を拡張しているといいますか、あまり正確ではありません。 パスというのは、AからBまでの道順でのことです。 コンピュータでは、単にパスと言った場合、あるファイル/ディレクトリから、他のファイル/ディレクトリまでの道順(ディレクトリの移動順)を示した「ファイルパス」「ディレクトリパス」のことを指すことが多いです。 ファイル/ディレクトリは、それ以上戻れない「一番上」が唯一存在して、そこから枝分かれして階層状になっています。このような構造を「木」といって、その「唯一の一番上」をルート(根)といいます。 (厳密な木/根の定義は省略します。 さらに厳密に言えば、ディレクトリ構成は木ではありませんが、木として続けます) Windowsで言えば、マイコンピュータという根があり、そこから C:\,D:\..と枝分れして、C:\は更にProgram Files, Windowsと枝分かれ....となっています。 このファイルパスの表現として、 現在位置を基点にした「相対パス」 ルートを基点とした「絶対パス」、あるいは(省略しているように見える相対パスに対して全部書いているように見えるので)「フルパス」 があります。 その文章のややこしいところは、ルートの異なる2つの木を、あたかも一つの木のように説明しようとしていることです。 その文章で「絶対パス」として紹介しているのは、「Windowsのファイルシステムの木」での「絶対パス」のことです。 その文章で「フルパス」として紹介しているのは、「httpサーバー上でのURLの木」での「絶対パス」のことです。 httpサーバーというのは、httpリクエストに応じてデータを返すプログラムです。 ブラウザが、http:~でデータをやりとりする相手はhttpサーバーであって、直接ファイルにアクセスするわけではありません。 一般的なhttpサーバーでは、標準の動作として、コンピュータの適当なディレクトリをhttpサーバーにとってのルートとして、その下にファイル構成をそのままURLの構成にしています。 ちょうど、ファイルシステムの木にhttpサーバーのヤドリギがあるようなものです。 そのURLを使ったリクエストがあったら、対応するファイルの内容をそのまま返信します。 (「省略して云々」というのは初心者向けの説明(のつもり)なのでしょうが、正確ではありません。そのために混乱が生じているのでしょう) このとき、URLの相対パスは、ファイルのそれと一致します。 URLの絶対パスは、「ヤドリギの根」からのパスになります。ファイルシステムの根からではありません。よって、ファイルシステムの絶対パスとは違うものになります。 htmlでのhref=~や、ブラウザ等でURLを指定する場合、httpサーバーが管理するのはhttpの木なので、ファイルシステム用の絶対パスではなく、URL用の絶対パス(ヤドリギでのパス)で書く必要があります。 ... ということなのです。 ちなみに、まともなhttpサーバーだったら、例にあるような「ファイルシステムの絶対パス」を書いたところで、「そのURLを見たら『サーバーのファイルシステム上に、そのパスのファイル/ディレクトリが存在する(可能性がある)』という情報が漏れる」以外の被害はまずありません。 これでファイルシステムにアクセスできるようなサーバーなら「重大な脆弱性あり」として公表されていることでしょう。 「Apache」は httpサーバーの一種で、大きなシェアを占めています。

aki1984
質問者

お礼

非常に分かりやすい説明ありがとうございます! 私たちが普段目にするURLはヤドリギからのパスだったのですね。 すっきりしました。

その他の回答 (2)

  • layy
  • ベストアンサー率23% (292/1222)
回答No.3

個人的には、 「絶対パス」「相対パス」 は同じ次元「絶対」と「相対」、 で考えていいですが、 「フルパス」に対応するのは「パス」のような気がします。 だから 「フルパス」 というのをこの上記2つと並べて、という説明は違和感あります。 (表記されている状態は同じとしても) 「絶対パス」と「相対パス」 「フルパス」と「パス」 で整理して考えてみてはどうでしょうか。

aki1984
質問者

お礼

ありがとうございました。

  • nak777r
  • ベストアンサー率36% (49/136)
回答No.1

一緒です あえて言うなら ・相対パス 現在地を基点としたパスの指定 ・絶対パス 現在地を基点としないパスの指定 ・フルパス 省略しないパスの指定 (相対パスは、現在地を基点とする為 現在地迄を省略している)

aki1984
質問者

お礼

ありがとうございました。

関連するQ&A

  • 相対パスを絶対パスに。

    Web巡回ロボットのようなモノを作ろうと思っています。 あるURLにアクセスし、そのソースからリンクされているURLを拾って・・・・を繰り返します。 そこで、相対パスを絶対パスに簡単に変換する方法はありますか? ご教授お願いします。

    • ベストアンサー
    • Java
  • 絶対URL(絶対URI)と絶対パスのちがいは?

    絶対URL(絶対URI)と絶対パスのちがいは? 絶対URL(絶対URI)とは、「スキームを含めてのリソースの在り処」のことであり、 絶対パスは、「単純に、リソースの在り処(リソースへアクセスするための経路)」 を示している、という理解でよろしいのでしょうか? よろしく、お願いします。

  • requireでの絶対パス

    いつもお世話になっております。 requireを使ってファイルをインクルードしているのですが、その際は相対パスで記述しています。 <?php require("../template/test.php"); ?> これを絶対パスでうまく記述する方法はあるのでしょうか? 通常、絶対パスで書いてしまうと、iniファイルで定めた絶対パスの指定フォルダが対象になってしまうため、サーバー上での絶対パスにしたいのですが…。 方法がありましたらご教授よろしくお願いします。

    • ベストアンサー
    • PHP
  • 絶対パスから相対パスへ

    HPビルダーを使ってHPを作っています。 この度、サーバの方にFTPを使いサイトを 転送したのですが、一部サイト内からサイト内に 飛ぶ際にURLが絶対指定になっていて飛ぶ事が できませんでした。そこで絶対パスから相対パス への変更方法が載っているページをIBMのページで 見つけたのですが、意味が分かりませんでした。 この際、幾つかの絶対パスを相対パスに変更する 作業は一つ一つしなければならないのですか? それと変更する際の具体的手順を詳しく教えて いただきたいです。

  • 絶対パスでないとダメなのでしょうか?

    よろしくお願いいたします。 ActiveXコントロールで、WebBrowserを利用してweb表示を行いたいのですが、社内での理容を考えており、 Webページ自体もサーバ上ではなく、CDに焼いて利用しようと考えています。 よって、複数のパソコンでの利用を想定するため、 【ActiveXコントロール1.Navigate "◆◆◆"】の記述の中で、 ◆◆◆の部分を相対パスで指定したいのですが、どうも上手く出来ません。 もちろんハードディスク上の絶対パスであれば動作は出来ます。 この場合、相対パスの利用は出来ないのでしょうか? まだ全然VBの知識が無いのですが、ホームページの作成経験はあります。 ご教授いただければ幸いです。

  • マイ ネットワーク\サーバーA(仮) の絶対パスはどう書く?

    マイ ネットワーク\サーバーA(仮) の絶対パスはどう書く? JavascriptとPhotoshopを使い、指定フォルダに画像を書き出すのが目的です。 試しにDドライブ「BMP」フォルダを指定するとこうなります。 //書き出す場所を指定、ファイル名=レイヤーカンプ名.bmp img = new File("D:\\BMP\\" + activeDocument.layerComps[i].name + ".bmp"); Dドライブ「BMP」フォルダに~.bmpが書き出されます。 "D:\\BMP\\" の部分を "\\サーバーA\\BMP\\"とすると 「C:\サーバーA\BMP\という指定先は見つからないというエラーが出ます。 どうパスを書けばいいのかわかりません。

  • 絶対パス、相対パス、環境変数の概念が掴めない

    絶対パス相対パス環境変数についていまいち概念が掴めないのでどなたかご教示いただけないでしょうか? 絶対パスというものは指定のフォルダなどへの行き道をしていしたもの、相対パスはある程度のものだけきじゅつしてあるしか認識できておりません。 ググって探してみてもいまいちいい内容がなくて・・・ 何かいい知識の身につけ方があったら教えてください。 あと例えばCGIを使うためにActivePerlなどを入れたときに絶対パスで指定する方法があるとか言うのはどういった意味なのでしょうか?

    • ベストアンサー
    • Perl
  • 相対パスから絶対パスの取得

    相対パスを指定することにより、絶対パスを取得したいのですが・・・。 どうすればいいでしょうか? ■状況■ VB6.0 Windows2000 ひとつ上の階層に行きそこのTableフォルダ内のsample.htmlのパスを取得したい。 Dir$("..\Table\sample.html")としてみたのですができませんでした。

  • 相対パスと絶対パス

    こんにちは。 WEBページを作っている者です。 サイト内リンクのパスについてなのですが、 相対パスと絶対パス。 どちらのほうがよいのでしょうか? 今は相対パスで行っているのですが、 時々ドコに飛んでいるのかわからなくなることがあります(笑) やはり、絶対パスでリンクはするべきなのでしょうか? お仕事などでWEBページを作っておられる方は、どちらを好んで使われるのでしょうか? (ドメインは、今後変更する可能性が非常に高いです。というのも、今はフリーのサーバースペース(FC)を使っているので…独自ドメインをじきに取得したいなと…) (ドメイン変更の際も)一括置換ソフトなどを使用して変更すればそんなにたいした問題ではないのでしょうか? また、一括置換ソフト(フリー)についてこちらにも回答いただけるとうれしいです 。 http://okwave.jp/qa/q7522915.html ↑私の質問です。 お願いいたします。

    • ベストアンサー
    • CSS
  • URLは絶対パス、相対パス、ルート相対パス

    WEBサイトを作成する上で、HTML内に使用するURLの記述方法で悩んでいます。 「絶対パス」、「相対パス」、「ルート相対パス」のどれがいいでしょうか。

    • ベストアンサー
    • HTML