文中の説明画像をクリックすると拡大します。
URLの最後には「/(スラッシュ)」が必要なの?
インターネット上や印刷物でWebサイトのURLを見ていると、最後に「/(スラッシュ)」が付いているときと付いていないときがあるようです。
URLの最後に付くこの「/」は、トレイリングスラッシュと呼ばれますが、これは、付けるべきか付けなくてもよいのか、どちらなのでしょうか?
結論から言うと、「/」ありで記載するのが望ましいです。
Webサイトにアクセスする際、大半のサーバーは自動的に処理をして「/」の有無に関わらず同じページを表示してくれます。
ところが裏側では、「/」がない場合にはまずファイルが存在するかどうかを探し、なければディレクトリ(フォルダ)にリダイレクトするという、余計な処理が発生しているのです。
ですから、最初から「/」を付けてそこがディレクトリ(フォルダ)であることを明示した方がよいのです。
ファイルを示すURLを除いて、末尾には「/」をつけるのがよいです。
そして、重要なことは、「/」の有無がサイト内で混在してしまわないことです。
URLがドメイン名だけの場合は「/」がついた状態で処理される
URLがドメイン名だけの場合、つまり以下のような場合には、「/」はあってもなくても同一に扱われます(正確に言うと、「/」が付いた状態で処理されます)。
https://ドメイン名/
リクエストを受け取ったサーバーは、トップページのディレクトリ(ルートディレクトリ)にある規定のドキュメント(例えば、index.html や index.php など)を表示します。
Yahoo!のトップページにアクセスすると、ブラウザにはURLが以下のように表示されます。
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ページなどで紹介するときにも便利だからです。
ドメインって何だっけ?という方はこちらをご覧ください。
HTMLって何だっけ?という方はこちらをご覧ください。
ディレクトリ後の「/」
一方、ディレクトリ名の後の「/」は、あるかないかで意味合いが異なります。
ディレクトリ名とは、「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サイトを運営するうえでは、「/」がなくても大きな支障はない。
- 「/」の有無が同一サイト内で混在している場合には、「/」ありに統一すべき。