Go-net/http-服务器

来自泡泡学习笔记
跳到导航 跳到搜索

ListenAndServe 启动一个具有给定地址和处理器的 HTTP 服务器。处理器通常为 nil,这意味着使用 DefaultServeMux。Handle 和 HandleFunc 向 DefaultServeMux 添加处理器:

http.Handle("/foo", fooHandler)

http.HandleFunc("/bar", func(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Hello, %q", html.EscapeString(r.URL.Path))
})

log.Fatal(http.ListenAndServe(":8080", nil))


通过创建自定义 Server,可以对服务器的行为进行更多控制:

s := &http.Server{
    Addr:           ":8080",
    Handler:        myHandler,
    ReadTimeout:    10 * time.Second,
    WriteTimeout:   10 * time.Second,
    MaxHeaderBytes: 1 << 20,
}
log.Fatal(s.ListenAndServe())