Javaでサーブレットを作成しました。そのサーブレットへのリクエストがHTTPまたはHTTPSを使用して実行されたかどうかを知りたいです。
request.getProtocol()
を使用できると思いましたが、両方のメソッドでHTTP/1.1を返します。
何か案は?
HttpSerlvetRequest.isSecure()が答えです。 ServletContainerは、次の場合にtrueを返す責任があります。
コンテナは、リクエストがhttpsで受信されたときに、このリクエスト属性を利用可能にする必要もあります。
確実にポート番号に依存することはできません。
ただし、スキームに依存することができます。
request.getScheme() を使用して、https
かどうかを確認します。
その場合は、安全な接続です。
これはTomcatのバージョンに関係なく機能するはずです
isSecure 。継承されたメソッドを必ず確認してください。