Go-net/http-服务器

来自泡泡学习笔记
BrainBs讨论 | 贡献2024年2月2日 (五) 09:08的版本 (创建页面,内容为“ ListenAndServe 启动一个具有给定地址和处理器的 HTTP 服务器。处理器通常为 nil,这意味着使用 DefaultServeMux。Handle 和 HandleFunc 向 DefaultServeMux 添加处理器: <syntaxhighlight lang="go">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))</syntaxhighlight> <…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

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