知らないうちにfavicon.icoにアクセスされる

Goで自作ルータをテストしていたときのこと...

とりあえずルート("/")だけ処理できるようにだけして動かしてみようと思い、ルーティング用のプログラムを作成しブラウザからlocalhostにアクセスして正しいルーティングが行えるかをテストしていた。

アクセスしてみるとエラーが発生。panicで落ちていた。

スライスの範囲外を参照しているらしいが、"/"へのアクセスに対しては正しく動作するように書いたはずだが。

おかしいと思い、リクエストを調べてみると...

どうやらfavicon.icoというパスにアクセスされたことが原因らしい。

favicon.icoとは?

favicon(ファビコン)は、ウェブサイトのシンボルマーク・イメージとして、ウェブサイト運営者がウェブサイトやウェブページに配置するアイコンの俗称である。favorite icon(フェイバリット・アイコン:お気に入りアイコン)という英語の語句を縮約したものである。

ルートディレクトリに favicon.ico という名称のファイルを設置しておくと、HTML中で指定が無くともfaviconとして認識される。

なるほど。

何に使うの?

ブラウザのタブの左側にアイコンが表示されていると思うが、これの表示に使用している。

ブラウザはサイトにアクセスすると自動的にfavicon.icoを要求する。


知らないうちにアクセスされていて困惑したが、なるほど。

今後ブラウザからアクセスする際には気をつけよう。