【发布时间】:2016-07-28 18:45:33
【问题描述】:
从服务器端,我需要终止/中止请求,而不需要像nginx's 444 这样的客户端做出任何响应。
从客户端看,它应该看起来像是被对等方重置的连接。
【问题讨论】:
标签: go request no-response
从服务器端,我需要终止/中止请求,而不需要像nginx's 444 这样的客户端做出任何响应。
从客户端看,它应该看起来像是被对等方重置的连接。
【问题讨论】:
标签: go request no-response
我花了几个小时才偶然发现http.Hijacker 允许从http.ResponseWriter 访问网络连接:
h := func(w http.ResponseWriter, r *http.Request) {
if wr, ok := w.(http.Hijacker); ok {
conn, _, err := wr.Hijack()
if err != nil {
fmt.Fprint(w, err)
}
conn.Close()
}
}
在某些情况下,终止连接可能有助于节省 CPU 时间和出站流量。
【讨论】: