-PR-
解決済み

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

  • すぐに回答を!
  • 質問No.6122595
  • 閲覧数3023
  • ありがとう数7
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 55% (100/180)

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

絶対パスというのはいわゆるURLのことで、URLというのはフルパスの省略されたもの、ということでいいのでしょうか。

普通にパソコンのブラウザからフルパスを使ってアクセスすると、サーバーにある関係ない情報まで見ることが出来てしまうので、指定した目的以外のフォルダをApachにより省略していわゆる普通のURLにするということですか?


また、指定したフォルダを省略するためのApachとはどのようなものでしょうか。
http://www.chama.ne.jp/download/web/path.htm
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2
レベル14

ベストアンサー率 55% (1857/3366)

その説明、誤解を産むといいますか、一般の意味を拡張しているといいますか、あまり正確ではありません。

パスというのは、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

お礼率 55% (100/180)

非常に分かりやすい説明ありがとうございます!
私たちが普段目にするURLはヤドリギからのパスだったのですね。
すっきりしました。
投稿日時 - 2010-08-23 17:11:37

その他の回答 (全2件)

  • 回答No.1
レベル10

ベストアンサー率 36% (49/136)

一緒です

あえて言うなら

・相対パス
現在地を基点としたパスの指定

・絶対パス
現在地を基点としないパスの指定

・フルパス
省略しないパスの指定
(相対パスは、現在地を基点とする為
現在地迄を省略している)
お礼コメント
aki1984

お礼率 55% (100/180)

ありがとうございました。
投稿日時 - 2011-09-27 11:12:50


  • 回答No.3
レベル13

ベストアンサー率 23% (292/1222)

個人的には、
「絶対パス」「相対パス」
は同じ次元「絶対」と「相対」、
で考えていいですが、
「フルパス」に対応するのは「パス」のような気がします。

だから
「フルパス」
というのをこの上記2つと並べて、という説明は違和感あります。
(表記されている状態は同じとしても)

「絶対パス」と「相対パス」
「フルパス」と「パス」
で整理して考えてみてはどうでしょうか。
お礼コメント
aki1984

お礼率 55% (100/180)

ありがとうございました。
投稿日時 - 2011-09-27 11:12:18
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-

特集


抽選で合計100名様にプレゼント!

ピックアップ

ページ先頭へ