正确关闭后台处理的 HTTP 请求
在 HTTP 请求中,通常希望在处理请求负载时立即响应背景。这是通过使用 202 Accepted 状态代码确认请求来实现的,允许客户端无需等待后台任务完成即可继续。
响应 202 Accepted
为了正确处理此类请求,发送 202 Accepted 标头后关闭请求至关重要。这是因为从处理程序返回意味着请求完成。因此,建议在启动后台任务之前显式关闭请求:
<code class="golang">func index(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusAccepted) go sleep() return // Close the request }</code>
响应 200 OK
响应 200 OK 时就足够了从处理程序返回,因为 HTTP 标头将自动设置以指示成功响应。
<code class="golang">func index(w http.ResponseWriter, r *http.Request) { go sleep() return // Close the request }</code>
注意
重要的是要注意,HTTP请求关闭后,不应在后台 goroutine 中使用请求和响应值,因为它们可能会被重用。
以上是如何正确关闭后台处理的HTTP请求?的详细内容。更多信息请关注PHP中文网其他相关文章!