2

要求のパイプラインを処理する Web サーバーが何らかの理由で失敗したとします。サーバーはどのような場合に接続を維持でき、どのような場合に接続を閉じる必要がありますか? 明らかに、403 や 404 などのエラーは、接続を閉じずに処理できます。ほとんどの場合、応答の一部が既に送信されている場合、エラーにより接続が閉じられます。

しかし、「通常の」5xx エラーはどうでしょうか? 一般的な Web サーバーの実装は、パイプラインを維持する傾向がありますか、それとも閉じる傾向がありますか?

すべての情報は大歓迎です。

4

1 に答える 1

0

一般に、5xx エラーは接続ではなくリクエストに固有であるため、接続は閉じられないと思います。そのため、同じ接続での別のリクエストは別のリソースに対するものである可能性があります。

接続を開いたままにできない理由がある場合にのみ、接続を閉じる必要があります (たとえば、接続に依存する NTLM 認証の失敗 (401) など)。リクエストは独立しており、HTTP には実際には接続セマンティクスがないため、他のほとんどすべての理由で接続を開いたままにしておく必要があります。

しかし、一般的な Web サーバーの実装が何をするものなのか、私にはわかりません。解決しようとしている問題について詳しく説明していただければ (接続が閉じているかどうかを気にする必要はありません)、おそらくより多くの情報を提供できます。

于 2012-05-25T02:56:19.870 に答える