为了账号安全,请及时绑定邮箱和手机立即绑定

Golang:如何在没有响应的情况下终止/中止/取消入站 http 请求?

Golang:如何在没有响应的情况下终止/中止/取消入站 http 请求?

Go
慕后森 2022-01-04 10:03:04
从服务器端,我需要终止/中止请求,而不像nginx 的 444那样对客户端做出任何响应。从客户端看,它应该看起来像是由对等方重置的连接。
查看完整描述

1 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

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


查看完整回答
反对 回复 2022-01-04
  • 1 回答
  • 0 关注
  • 213 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号