初級者~中級者向け 疑問

【疑問】URL末尾の「/」(トレイリングスラッシュ)はいる?いらない?

Webの知識
この記事は約5分で読めます。

文中の説明画像をクリックすると拡大します。

Pocket

URLの最後には「/(スラッシュ)」が必要なの?

インターネット上や印刷物でWebサイトのURLを見ていると、最後に「/(スラッシュ)」が付いているときと付いていないときがあるようです。

URLの最後に付くこの「/」は、トレイリングスラッシュと呼ばれますが、これは、付けるべきか付けなくてもよいのか、どちらなのでしょうか?

結論から言うと、「/」ありで記載するのが望ましいです。

Webサイトにアクセスする際、大半のサーバーは自動的に処理をして「/」の有無に関わらず同じページを表示してくれます。

ところが裏側では、「/」がない場合にはまずファイルが存在するかどうかを探し、なければディレクトリ(フォルダ)にリダイレクトするという、余計な処理が発生しているのです。

ですから、最初から「/」を付けてそこがディレクトリ(フォルダ)であることを明示した方がよいのです。

ファイルを示すURLを除いて、末尾には「/」をつけるのがよいです。

そして、重要なことは、「/」の有無がサイト内で混在してしまわないことです。

URLがドメイン名だけの場合は「/」がついた状態で処理される

URLがドメイン名だけの場合、つまり以下のような場合には、「/」はあってもなくても同一に扱われます(正確に言うと、「/」が付いた状態で処理されます)

https://ドメイン名/ 

リクエストを受け取ったサーバーは、トップページのディレクトリ(ルートディレクトリ)にある規定のドキュメント(例えば、index.html や index.php など)を表示します。

Yahoo!のトップページにアクセスすると、ブラウザにはURLが以下のように表示されます。

Yahoo! JAPAN
あなたの毎日をアップデートする情報ポータル。検索、ニュース、天気、スポーツ、メール、ショッピング、オークションなど便利なサービスを展開しています。

URLの末尾には、実際にはインデックスファイル(index.html や index.php などのファイル)が省略されています。

Webサイトの情報は全て、HTMLなどの言語ファイルで書かれており、これらのファイルを読み込むことでWebサイトがブラウザで表示される仕組みになっています。

インデックスファイルがなければWebページは表示されないので、全てのURLには必ずインデックスファイル(index.html や index.php などのファイル)が存在するということです。

インデックスファイルのURLは、「http://www.xxx.com/index.html」というように最後まで記載しても問題ありませんが、大半のWebサイトのURLではインデックスファイルを省略表記しているので、上記のようなURLになるわけです。

短い方がわかりやすく、他のWebページなどで紹介するときにも便利だからです。


ドメインって何だっけ?という方はこちらをご覧ください。

【基本】ドメインって何?
ドメインとは、インターネットにおけるコンピューターやネットワークの識別名で、Webサイトの住所のようなものです。本来、IPアドレスという「数字の住所」が割り振られていますが、数字の列挙は人間にはわかりづらいため、ドメインを使った文字列のホスト名が使われています。

HTMLって何だっけ?という方はこちらをご覧ください。

【基本】HTMLって何?
HTMLは、Webサイトの構造を作るための言語です。Webサイトを構成する要素に役割を与える「目印」のようなものです。Webサイトを構成する要素を「開始タグ」と「終了タグ」で囲むようにしますが、一部「終了タグ」が要らない場合もあります。

ディレクトリ後の「/」

一方、ディレクトリ名の後の「/」は、あるかないかで意味合いが異なります。

ディレクトリ名とは、「xxx.com/」や「xxx.co.jp/」などの後に続けて表記されるフォルダ名を表す文字列のことです。

例えば、以下の場合の「sample」がディレクトリ名です。

https://example.com/sample/

さて、以下の2種類のURLがあったとして、Aの場合、つまり末尾に「/」がついている場合には、サーバーはインデックスファイルにアクセスをします。

A:https://example.com/sample/
B:https://example.com/sample

つまり、「https://example.com/sample/index.html」や「https://example.com/sample/index.htm」にアクセスを試みます。

それに対してBの場合には、https://example.com/の中にある「sampleというファイル」を探そうとします。

末尾の「/」があるか否かで、全く意味合いが異なる結果になります。

しかしながら、大半のウェブサーバーでは、BのURLにアクセスして「sample」というファイルが発見できない場合には、自動的に「/」ありのAのページを表示する仕様になっています。

従って、「/」を付けなくても同じページにたどり着ける可能性が高いということです。

サイト内の「/」は統一させる

このように、Webサイト内の「/」は、ありでもなしでも問題なくアクセスできるケースが大半ですが、Webサイト内で使用するURLは「あり」で統一させるのがよいでしょう。

その理由は、前述の通り以下の二点です。

  • トレイリングスラッシュなしでURLを入力した際には、リダイレクトによって「あり」のURLを自動的にサーバーが探しますが、その分サイトの表示速度が遅くなってしまう可能性があり、望ましくないため。
  • トレイリングスラッシュの有無が混在することは、閲覧ユーザーに対して不親切であること。

 

まとめ

  • URL末尾の「/」(トレイリングスラッシュ)は、「あり」にしておくのが適切。
  • Webサイトを運営するうえでは、「/」がなくても大きな支障はない。
  • 「/」の有無が同一サイト内で混在している場合には、「/」ありに統一すべき。
Pocket