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
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