我怎么知道对servlet的请求是使用HTTP还是HTTPS执行的?

我用Java写了一个servlet,我想知道对该servlet的请求是使用HTTP还是HTTPS执行的。

我以为可以使用,request.getProtocol()但是两种方法都返回HTTP / 1.1。

有任何想法吗?

回答:

。在以下情况下,ServletContainer负责返回true:

  • ServletContainer本身是否可以接受https上的请求。
  • ServletContainer前面是否有LoadBalancer。并且,LoadBlancer在 上收到了请求,并已将请求分派到 上的ServletContainer 。在这种情况下,LoadBalancer将 标头发送到ServletContainer,应该遵循。

当在 上收到请求时,容器还应使此请求属性可用:

  • javax.servlet.http.sslsessionid
  • javax.servlet.request.key_size
  • javax.servlet.request.X509Certificate

以上是 我怎么知道对servlet的请求是使用HTTP还是HTTPS执行的? 的全部内容, 来源链接: utcz.com/qa/409240.html

回到顶部