URLの最後のスラッシュはいるの?いらないの?
URLの最後にくっついているスラッシュはいるの?いらないの?
そんな風に悩んだことないでしょうか?
私はこれ悩みました・・・
その結論とは?
URLの最後のスラッシュはつけた方がいい
URLの最後にくっついているスラッシュ「/」のことを「トレイリングスラッシュ(trailing slash)」といいます。
これが「ある」のと「ない」のでは実は振る舞いが異なります。
「ある」場合は「ディレクトリ」を表し、「ない」場合は「ファイル」を表します。
①https://timetotravel.space/sample/
②https://timetotravel.space/sample
③https://timetotravel.space/sample/index.html
例えば、↑のようなURLがあった場合、①は「sample」というディレクトリを表し、②は「sample」というファイルを表しています。
なので、①の場合は「sample」というディレクトリの中のファイルを探しにいきます。
「sample/」で終わっている場合は、そのディレクトリ内にある「index.html」や「index.htm」を自動的に表示してくれる仕組みになっているんですね。
ですので、①と③は実は動きになります。
このようにスラッシュ「あり」「なし」では探しに行くファイルが異なるので、同じように見えるURLでも違うページを表しています。
ですが!多くのウエブサーバーでは、スラッシュ「なし」でファイルが見つからない場合、自動的にスラッシュをつけて、スラッシュ「あり」と同じページを表示してくれるようになっています。
例では①のページですね。
たとえば、このページも
①https://timetotravel.space/url_slashumu/
②https://timetotravel.space/url_slashumu
で同じページが表示されるはずです。
とするとあまり違いを気にしなくてもいいのかもしれませんが、ディレクトリとフォルダはやはり違いますので、スラッシュは意識してつける・つけないをした方がいいかなと思います。