2024年06月18日
index.html の謎
最近はインターネットはInstagramやYoutubeなどアプリで使う場面が多くなってきました。かくいう私も趣味ではニコニコ動画をアプリでニコニコ見ています。とはいえインターネットブラウザで調べものなどもします。そんな時URLが次々に変わっていく現象を目にするはずです。今回はURLの謎の一つを取り上げます。
URLのお尻を見るとindex.htmlがついている場合があります。トップページ(ホームページの一番始めに出るページ)を開くとついている時があります。
実はindex.htmlのついているトップページとついていないトップページはまったく同じページが表示されます。試しにどこかでindex.htmlを消してもらうとこの現象を見れます。
これはホームページをつないでいるサーバーの仕様によって起こります。例えば以下のようなトップページのURLがあるとします。
https://マルマル.com/index.html
このURLの意味は「https://マルマル.comにあるindex.htmlを開いています」です。それを踏まえて以下のURLも見てください。
https://マルマル.com
このURLの意味は「https://マルマル.comにあるサーバーに接続しました」という意味で、ページには接続していません。しかしサーバーは接続を受けたときに自動的にindex.htmlを見せるようになっています。そのため結果的に同じページがページが開かれます。
通常の使用の範囲で困ることはなく、せいぜいURLを教えるときに長くなってしまう程度です。
しかしキャリカクの作業のなかで困る場面が実はあります。
キャリカクではホームページをピックアップしてリストに記載する作業があります。このとき同じページをリストアップをしてしまうと多重に項目が載ってしまいます。この重複を防ぐためリストに同じURLが書かれると、通知がでるような設定がされています。
ところが同じページでもindex.htmlあるなしは異なるURLと判断されてしまい、通知が出ません。そのため、意図せず二重に書かれてしまうエラーが起こります。通常はほかにもページ名などもリストに書き、同じく同名なら通知が出ます。なので、エラーが残り続ける状態は起きません。
このごろindex.htmlではなくindex.phpとお尻についているURLをよく見るようになりました。この現象にはいろいろな理由があるでしょうが、WordPressという簡単にWebページを作るプログラムの普及が一番の要因でしょう。
さて、二つの違いですが、index.htmlはそこにあるHTMLファイルを直接求めます。
対して、index.phpはプログラムに求めて、プログラムがその場で作ったHTMLファイルを受け取ります。
プログラムで作るメリットは大きく、例えばニュースサイトでニュースの一覧を作る場合に、ニュースの記事だけ書いて置いておけば、プログラムが一覧を勝手に作ってくれます。
index.htmlはあろうがなかろうが同じトップページを開くと覚えておけば困惑もなくなりるでしょう。ただ、これからもindex.htmlに惑わされ続けられそうです。関数で除去するのもあまりよろしくないので頑張って目を使い除いていきます。