1

从服务器端,我需要终止/中止请求,而不像nginx 的 444这样对客户端做出任何响应。

从客户端看,它应该看起来像对等方重置连接。

4

1 回答 1

6

我花了几个小时才偶然发现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 时间和出站流量。

于 2016-04-07T17:54:19.227 回答