我用Java编写了一个servlet,我想知道是否使用HTTP或HTTPS执行了对该servlet的请求。
我以为我可以使用request.getProtocol()
,但它会在两种方法上返回HTTP / 1.1。
有什么想法吗?
答案 0 :(得分:93)
HttpSerlvetRequest.isSecure() 就是答案。在以下情况下,ServletContainer负责返回true:
在 https 收到请求时,容器还应提供此请求属性:
答案 1 :(得分:27)
答案 2 :(得分:10)
isSecure。一定要检查继承的方法。
答案 3 :(得分:-3)
https和http在不同的端口上运行。因此,您可以从请求中获取端口,并知道请求来自哪个端口,以便您可以了解协议。 int port = request.getServerPort();