http ResponseWriter 重复答案 golang

http ResponseWriter duplicate answer golang

func main() {

  http.HandleFunc("/", foo)

  http.ListenAndServe(":3000", nil)
}

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

  s:= "name"

  fp := path.Join("templates", "index.html")

  tmpl, err := template.ParseFiles(fp)
  if err != nil {
    panic(err)
  }

  if  err := tmpl.Execute(w, s); err != nil {
    panic(err)
  }

  fmt.Println("successfull Operation!!")

}

此代码显示 2 "successfull Operation!!" 但当我添加 /home (http.HandleFunc("/home", foo)) 时,它不会。我想知道为什么它显示 "successfull Operation!!" 两次。提前谢谢你。

因为现代浏览器会发送一个额外的 /favicon.ico 请求,该请求也会在您的 / 请求处理程序中处理。

例如,如果您使用 curl ping 服务器,您将看到只发送了一个请求:

 curl localhost:3000