我用 Java 编写了一个 servlet,我想知道对该 servlet 的请求是使用 HTTP 还是 HTTPS 执行的。
我以为我可以使用
request.getProtocol()
,但两种方法都返回 HTTP/1.1。
有什么想法吗?
HttpServletRequest.isSecure()
就是答案。 ServletContainer 负责在以下情况下返回 true:
X-SSL-Secure : true
标头,应该尊重该标头。当在 https 上收到请求时,容器还应该使此请求属性可用:
javax.servlet.http.sslsessionid
javax.servlet.request.key_size
javax.servlet.request.X509Certificate
安全。 请务必检查继承的方法。