HTTP ハンドラーで「defer req.Body.Close()」を使用する必要がありますか?

Barbara Streisand
リリース: 2024-11-10 05:02:02
オリジナル
846 人が閲覧しました

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

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート