golang http使用踩过的坑与填坑指南

上传:astray24933 浏览: 29 推荐: 0 文件:pdf 大小:105.86 KB 上传时间:2022-07-30 20:50:38 版权申诉

在http使用中, 最容易让人忽视的, 就是http返回的response的body必须close,否则就会有内存泄露。如果没有通过ioutil.ReadAll或者其他的接口读取response.body的内容, 此次socket链接就无法被后续的连接复用, 造成的结果就是该连接一直存在。另外, http.Request是不需要主动关闭的。这里, 我们重点关注Transport与Timeout两个字段, Transport记录了本次请求的事务信息, 以及连接复用相关的信息。Timeout记录此次调用的超时时间以避免异常发生的时候的长时间等待。TCP协议本身是长连接, 它超过一定时间没有数据传送, 就会发送心跳来检测该连接是否存活, 如果是, 该连接继续有效。但是需要特别注意的是某些时候不仅要修改 http header ,还要修改 http status code。

上传资源
用户评论