HTML URLの先頭のスラッシュの目的は何ですか?


17

一部のブログの投稿には、で始まる値を使用したリンクがあることに気付き/ましたhref

例えば:

<a href="/somedir/somepage.html">My Page</a>

先行/は、パスがサイトルートから始まることを意味しますか?

つまり、サイトのURLがのwww.mysite.com場合、有効なhref値はwww.mysite.com/somedir/somepage.html

これはすべてのブラウザーで受け入れられている規則ですか?


3
また、ダブルスラッシュのURLを見つけることが//somedomain.com/somedir/、現在のページに使用したのと同じプロトコルを使用した、いくつかのリンクでstackoverflow.com/questions/4978235/...の stackoverflow.com/questions/4831741/...を
ホーケン

回答:


19

/親または子ではなく目的のURLが返されるように、URLを開始することが重要です。

たとえば、ブラウジングで/cream-cakes/ページにリンクがあり、blah.htmlスラッシュがない場合はページにアクセスしようとします/cream-cakes/blah.htmlが、スラッシュがある場合はトップレベルを意味すると仮定しますdomain.com/blah.html

一般に、/サイトの構造を変更するときは、意図したページが返されることを前提として正しいか間違っているかはわかりませんが、私の経験では常により使いやすいものとして使用するのが最善です。


11

先頭の「/」は、パスがサイトルートから始まることを意味しますか?

技術的には、これはRFC 3986のセクション4.2で「絶対パス参照」として参照されています。

単一のスラッシュ文字で始まる相対参照は、絶対パス参照と呼ばれます。

パスが現在のディレクトリではなくルートディレクトリへの絶対パスであることを保証します(「相対パス」参照と呼ばれます)。詳細については、こちらをご覧ください。


このタイプのリンクのブラウザサポートに対応できますか?
スティーブンオステルミラー

2
これまでに少なくとも1998年以降に行われたすべてのブラウザを@Stephen
DisgruntledGoat

1
@DisgruntledGoat:おそらくそれよりずっと前です。実際、私は四肢に行き、「すべてのブラウザーをこれまでに」と言うだけです。その構文は、最初からURL標準の一部でした。
イルマリカロネン14年

2

これはルート相対リンクです。これは相対リンク(やや似ている../)ですが、サイトのルートから始まります。サイトの3レベルの深さのページがスラッシュでリンクを開始する場合、パスの残りの部分はサイトのルートに関連します。

この形式のパスの利点は、マークアップの文字数が少ないことです。

http://example.com/page.html

/page.html

もう1つの利点は、ドメインの変更に対する移植性です。たとえば、example.comコンテンツがに移動された場合example.org、同じディレクトリの命名/レイアウトが使用されていると仮定すると、ルート相対リンクは引き続き機能します。ページをローカルで開発し、Webにアップロードする場合に特に便利です。

他のタイプのパス-相対(../)および絶対(http://...)の場合と同様に、これはファイルまたはディレクトリの名前が変更または移動されたときにリンクの更新の対象となります。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.