HTTP ハンドラーで defer req.Body.Close() を使用する場合
多くの Web サーバー側アプリケーションでは、 net/http パッケージを使用した受信 HTTP リクエスト。発生する問題の 1 つは、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 中国語 Web サイトの他の関連記事を参照してください。