http リクエストを処理するために jetty サーバーを使用しています。応答がクライアントに正常に返されたかどうかを確認できる方法があるかどうかを知りたいです。確認できるエラー コードやステータス、またはクライアントへの転送が何らかの理由で失敗した場合にキャッチできる例外はありますか?
ありがとう
確認できるエラー コードやステータス、またはクライアントへの転送が何らかの理由で失敗した場合にキャッチできる例外はありますか?
応答がクライアントに完全に配信されたかどうかをサーバーが認識できるようにしたいようです。
簡単な答えは、これを知る方法がないということです。TCP/IP はこれをサポートせず、HTTP はこれをサポートせず、サーブレット API はこれをサポートしません。
状況によっては、クライアントが接続を早期に閉じたことをサーバーが認識すると、例外がスローされることがあります。ただし、それが認識されるという保証や、アプリケーションのサーブレット コードに表示される例外が発生するという保証はありません。実際、サーブレット呼び出しが返されるまで、クローズが (あったとしても) 認識されない可能性が非常に高くなります。
Web ページに何らかの「応答配信」確認を実装したい場合は、AJAX 要求をサーバーに送り返す Web ページに「オンロード」Javascript を埋め込むことができます。ただし、ユーザーが Javascript を無効にした場合、または元のリクエストがブラウザ以外のアプリケーションによって行われた場合を考慮する必要があります。