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 サイトの他の関連記事を参照してください。