> 백엔드 개발 > Golang > Go 웹 서버의 핸들러 함수가 두 번 호출되는 이유는 무엇입니까?

Go 웹 서버의 핸들러 함수가 두 번 호출되는 이유는 무엇입니까?

DDD
풀어 주다: 2024-12-18 17:47:09
원래의
190명이 탐색했습니다.

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

Go 웹 서버의 HandleFunc 호출 이상

페이지 방문을 추적하기 위해 간단한 Go 웹 서버를 구현할 때 개발자는 다음과 같은 당황스러운 동작에 직면했습니다. 핸들러 함수가 두 번 호출되었습니다. 요청을 기록하자 브라우저는 예상 루트 경로("/") 외에도 favicon.ico 파일도 요청하고 있는 것으로 나타났습니다.

Favicon 요청 및 핸들러 함수 호출

아이콘 파일(파비콘이라고도 함)은 웹사이트의 작은 그래픽 표현을 제공하며 종종 브라우저 탭과 북마크에 표시됩니다. 브라우저는 존재 여부에 관계없이 모든 웹사이트에 대해 자동으로 favicon.ico를 요청합니다. 파일을 사용할 수 없는 경우 브라우저는 일반적으로 기본 자리 표시자 이미지를 표시합니다.

주어진 예에서 웹 서버는 favicon.ico 파일을 제공하지 않았으므로 브라우저는 루트 경로("/")에서 파일을 요청했습니다. ) 대체용으로 사용됩니다. 서버의 HandleFunc는 루트의 모든 요청에 ​​응답하도록 구성되어 핸들러 함수가 두 번 호출되었습니다(루트 경로에 대해 한 번, favicon.ico 요청에 대해 한 번).

해결책

이 문제를 해결하려면 개발자가 favicon.ico 파일을 생성하여 전용 경로에서 제공하거나 웹 서버가 무시하도록 명시적으로 구성할 수 있습니다. favicon.ico를 요청합니다.

위 내용은 Go 웹 서버의 핸들러 함수가 두 번 호출되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿