request.getSession().getId()
とrequest.getRequestedSessionId()
の違いは何ですか?両方ともセッションID(セッションID)を返しますか?request.getSession()。getId()vs request.getRequestedSessionId()
おかげ
request.getSession().getId()
とrequest.getRequestedSessionId()
の違いは何ですか?両方ともセッションID(セッションID)を返しますか?request.getSession()。getId()vs request.getRequestedSessionId()
おかげ
request.getRequestedSessionId()
は(おそらくクッキーに)クライアントによって指定されたセッションIDを返します。 request.getSession().getId()
はサーバーのセッションIDを返します(セッションが存在しない場合はrequest.getSession()
が作成されます)。
重要な違いは、request.getRequestedSessionId()
によって返された値に頼ることができないことです。有効でない可能性があるためです。ドキュメントから:
クライアントによって指定されたセッションIDを返します。これは、この要求の現在の有効なセッションのIDと同じではない可能性があります。クライアントがセッションIDを指定しなかった場合、このメソッドはnullを返します。
一致するかどうかを確認することで何か達成できますか? – developerwjk
tbhと言うのは難しいです。おそらく、これらの値がどのように正常に動作するかに関するメトリックを収集した場合、その動作の異常を検出する可能性があります。しかし、これは大きなwhat-ifです。 – pablochan
クライアントのセッションIDが、この要求の現在の有効なセッションのIDと同じでない可能性があります。 (セッションが依然としてクライアント側で有効であると仮定して) – srh