Webサイトにアクセスする際、https://www.example.com/index.html と律儀に入力する人は少ないはずです。たいていは example.com だけで目的のページが表示されますよね。
「そもそもこれらは何のためにあるの?」
「なぜ省略しても大丈夫なの?」
今回は、Webの裏側で起きている「省略のルール」について、初心者の方にもわかりやすく解説します。
「www」の正体はサーバーのニックネーム
まず、URLの最初のほうにある www について見ていきましょう。
wwwは「ホスト名」
www.example.com というURLにおいて、www は「ホスト名」や「サブドメイン」と呼ばれます。 インターネットが普及し始めた初期、コンピューターは1台につき1つの役割(Web、メール、ファイル転送など)を持つのが普通でした。そのため、「これはWebサーバー(World Wide Web)ですよ」と明示するために www というニックネームを付けていたのです。
なぜ「なし」でもアクセスできるのか
現代では、サーバー管理者が「DNS(ドメイン・ネーム・システム)」というインターネットの電話帳に、以下の2つを登録しているため、どちらでも繋がります。
example.comに来たらこのサーバーへwww.example.comに来たらこのサーバーへ
さらに、多くのサイトでは「301リダイレクト」という転送設定を使い、どちらを入力しても片方のURLに自動で飛ばすようにしています。これは、検索エンジンからの評価を一つにまとめる(SEO対策)ためでもあります。
末尾の「index.html」が消える魔法の仕組み
https://example.com/index.html の末尾にある index.html も、入力せずにアクセスできることがほとんどです。
これはなぜでしょうか?
「ディレクトリ(フォルダ)」にアクセスしているから
Webサイトのデータは、サーバー内のフォルダに整理されて保管されています。 私たちが https://example.com/ と入力したとき、実は特定の「ファイル」ではなく、「ルートディレクトリ(一番上のフォルダ)」を指定していることになります。
サーバーの「デフォルト設定」のおかげ
ここで、Webサーバー(ApacheやNginxなど)の設定が活躍します。
サーバーにはあらかじめ、次のようなルールが書き込まれています。
「ファイル名が指定されずにフォルダまでしか入力されなかったら、その中にある『index.html』を自動的に探し出して表示せよ」
この設定があるおかげで、私たちはファイル名をわざわざ打ち込まなくても、サーバーが気を利かせて「看板メニュー」である index.html を差し出してくれるのです。
なぜ「index」という名前なの?
これは慣習的なものですが、”index” には「目次」や「索引」という意味があります。そのフォルダの中身を代表するファイルとして、世界共通でこの名前が使われるようになりました。
「index.html」をあえて表示させないメリット
最近のWebサイトでは、むしろ index.html をURLに表示させないのが一般的です。これにはいくつかのメリットがあります。
- URLが短く、美しくなる 余計な文字列がない方が、ユーザーにとって覚えやすく、SNSなどでシェアした際もスッキリ見えます。
- システム変更に強い 将来的に、Webサイトの作成ツールをHTMLから別のシステム(PHPやPythonなど)に変えたとします。もしURLに
index.htmlと含まれていたら、ファイル形式が変わるたびにURLも変わってしまいますが、省略していればURLを変えずに中身だけを入れ替えられます。
運用上の注意点:SEOと「重複コンテンツ」
「www」と同様に、「index.html」があるURLとないURL、両方でアクセスできてしまう状態はSEO上あまり良くありません。
https://example.com/https://example.com/index.html
これらが「別々のページ」として検索エンジンに認識されると、アクセス解析が分散したり、コピーコンテンツだと疑われたりするリスクがあります。
そのため、通常は「正規化(カノニカル設定)」や「リダイレクト設定」を行い、必ずどちらか一方(基本的には「なし」の方)に統一するのが鉄則です。
まとめ
URLの「www」や「index.html」がなくてもアクセスできるのは、「サーバー側が人間の手間を省くために、裏側で気を利かせてくれているから」です。
- www:DNSやリダイレクト設定によって、名前の有無をカバーしている
- index.html:サーバーの「フォルダ指定時はこのファイルを表示する」という設定によって省略されている
普段何気なく目にしているURLも、実は「ユーザーが迷わず、簡単にアクセスできるように」というサイト運営者の工夫が詰まっているのです。
ここまで、ちょっと長くなってしまいました。
https://を入力しないてもいい理由はまた別のお話なので、一旦ここまでとします。
別の記事にまとめるので、そちらも見てみてください。
