HandleFunc被两次调用

我在Go中关注一个简单的Web服务器示例。

我插入了一条log语句,使生成的代码如下所示:

package main

import (

"io"

"log"

"net/http"

)

func hello(w http.ResponseWriter, r *http.Request) {

io.WriteString(w, "Hello world!")

log.Println("hello.")

}

func main() {

mux := http.NewServeMux()

mux.HandleFunc("/", hello)

http.ListenAndServe(":8000", mux)

}

问题是,每当我在Web浏览器中加载端口8000时,此函数就会被调用两次。这是一个问题,因为我打算在每次页面访问时增加一个计数器。通过这种行为,计数器将增加两次。OTOH,如果我这样做curl

localhost:8000,它只会被调用一次。

我觉得我在这里失踪真的很愚蠢。

回答:

只需记录请求。您将意识到您的浏览器还请求/favicon.ico。

有关更多信息,请参见https://en.wikipedia.org/wiki/Favicon。

以上是 HandleFunc被两次调用 的全部内容, 来源链接: utcz.com/qa/414604.html

回到顶部