URLの「www」や「index.html」は省略してもいいのはなぜ?Webの不思議を解明!

site-building image

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つを登録しているため、どちらでも繋がります。

  1. example.com に来たらこのサーバーへ
  2. 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に表示させないのが一般的です。これにはいくつかのメリットがあります。

  1. URLが短く、美しくなる 余計な文字列がない方が、ユーザーにとって覚えやすく、SNSなどでシェアした際もスッキリ見えます。
  2. システム変更に強い 将来的に、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://を入力しないてもいい理由はまた別のお話なので、一旦ここまでとします。

別の記事にまとめるので、そちらも見てみてください。 

目次