../ を書きすぎて根より上に出る
基準が浅い階層なのに ../ を何回も書いた境界の例です。根より上へは上がらず、根で止まることと、それが情報で示されることを確かめます。
入力
基準のアドレス(絶対のアドレス 1 つ)
http://a/b/c/d;p?q
相対参照の一覧(1 行に 1 つ)
../../../g ../../../../g g. ..g
結果
エラー 0 件・警告 0 件・情報 1 件
指摘(エラー・警告・情報)
- 情報 相対参照 根(/)より上へさかのぼる ../ があります(1 行目・2 行目)。RFC 3986 5.4.2 のとおり、根(/)より上には上がらず、根で止まります。意図したパスか確認してください。
| 基準のアドレス | http://a/b/c/d;p?q |
|---|---|
| 相対参照の数 | 4 件 |
変換した絶対のアドレス
| 行 | 相対参照 | 絶対のアドレス |
|---|---|---|
| 1 | ../../../g | http://a/g |
| 2 | ../../../../g | http://a/g |
| 3 | g. | http://a/b/c/g. |
| 4 | ..g | http://a/b/c/..g |
検算(この結果になる理由)
基準のパスは 3 階層(b と c とファイル)なので、../ を 3 回でも 4 回でも RFC 3986 5.4.2 のとおり根で止まり http://a/g です。g. と ..g は名前の一部としてドットが残り、取り除かれません。根より上へ上がった情報は 1 件です。
判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。
このツールの制約
- RFC 3986 5.2 の厳格な手順による変換です。ブラウザの URL の解析(WHATWG URL)とは、バックスラッシュの扱いや http:g のような書き方などで結果が異なる場合があります。
- HTML の base 要素や複数の基準のアドレスは扱いません。基準は 1 つだけ入力します。
- 変換したアドレスが実際に存在するかは確認しません。アドレスへの接続は行いません。
- %エンコードや大文字小文字の整理(正規化)はしません。入力の書き方をそのまま残して結合します。
ご利用にあたって
- ブラウザや他のソフトの実装によっては、規格と異なる結果になる書き方があります。重要なリンクは実際の環境でも確認してください。