首页 > 后端开发 > Golang > 正文

您应该在 HTTP 处理程序中使用'defer req.Body.Close()”吗?

Barbara Streisand
发布: 2024-11-10 05:02:02
原创
887 人浏览过

Should You Use `defer req.Body.Close()` in HTTP Handlers?

何时在 HTTP 处理程序中使用 defer req.Body.Close()

在许多 Web 服务器端应用程序中,通常会处理使用 net/http 包传入的 HTTP 请求。出现的一个问题是在哪里放置 defer req.Body.Close() 语句。

一般规则:不需要关闭请求主体

根据 http .请求文档,服务器自动关闭请求体。因此,处理程序不需要显式关闭它。

// The Server will close the request body. The ServeHTTP
// Handler does not need to.
登录后复制

为什么不使用 defer?

使用 defer req.Body.Close() 是多余的,可以导致性能问题。它可以创建不必要的 HTTP 连接并阻止处理其他请求。

因此,最佳实践是避免在 HTTP 处理程序中使用 defer req.Body.Close()。

以上是您应该在 HTTP 处理程序中使用'defer req.Body.Close()”吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板