ホームページ > バックエンド開発 > Golang > Go Web サーバーのハンドラー関数が 2 回呼び出されるのはなぜですか?

Go Web サーバーのハンドラー関数が 2 回呼び出されるのはなぜですか?

DDD
リリース: 2024-12-18 17:47:09
オリジナル
190 人が閲覧しました

Why is my Go Web Server's Handler Function Called Twice?

Go Web サーバーでの HandleFunc 呼び出しの異常

ページ訪問を追跡する単純な Go Web サーバーを実装する際、開発者は不可解な動作に遭遇しました。ハンドラー関数が 2 回呼び出されていました。リクエストをログに記録すると、予想されるルート ルート (「/」) に加えて、ブラウザが favicon.ico ファイルもリクエストしていることが判明しました。

Favicon リクエストとハンドラー関数の呼び出し

アイコン ファイル (ファビコンと呼ばれる) は、Web サイトの小さなグラフィック表現を提供し、多くの場合、ブラウザーのタブやブックマークに表示されます。ブラウザーは、存在するかどうかに関係なく、すべての Web サイトに対して favicon.ico を自動的に要求します。ファイルが利用できない場合、ブラウザは通常、デフォルトのプレースホルダ画像を表示します。

指定された例では、Web サーバーが favicon.ico ファイルを提供しなかったため、ブラウザはルート ルート (「/」) からファイルをリクエストしました。 ) フォールバックとして。サーバーの HandleFunc は、ルートですべてのリクエストに応答するように構成されていたため、ハンドラー関数が 2 回呼び出されます (ルート ルートに対して 1 回、favicon.ico リクエストに対して 1 回)。

解決策

この問題を解決するには、開発者は favicon.ico ファイルを作成して専用ルートから提供するか、Web サーバーを明示的に設定して、 favicon.ico リクエストを無視します。

以上がGo Web サーバーのハンドラー関数が 2 回呼び出されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート