HTTP 函數處理程序意外地呼叫
在 Go 中使用 HTTP 處理程序時,了解請求的處理方式至關重要。在常見情況下,瀏覽器不僅會向根 URL 發出請求,還會請求名為「/favicon.ico」的圖示檔案以用於視覺目的。此附加請求可能會導致處理程序函數被呼叫兩次。
範例:
考慮以下程式碼,它會在每次頁面造訪時遞增計數器:
package main import ( "fmt" "io" "log" "net/http" ) var counter int func hello(w http.ResponseWriter, r *http.Request) { counter++ io.WriteString(w, fmt.Sprintf("Hello world! Counter: %d", counter)) log.Println("hello.") } func main() { mux := http.NewServeMux() mux.HandleFunc("/", hello) http.ListenAndServe(":8000", mux) }
觀察:
觀察:以上是為什麼我的 Go HTTP 函數處理程序被呼叫兩次?的詳細內容。更多資訊請關注PHP中文網其他相關文章!