当前位置: 首页 > 面试题库 >

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

章景同
2023-03-14
问题内容

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

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

有任何想法吗?


问题答案:

*_答案是 _ *HttpSerlvetRequest.isSecure()
。在以下情况下,ServletContainer负责返回true:

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

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

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


 类似资料:
  • 问题内容: 我正在使用nodejs和expressjs。我想知道clientRequest对象中是否有类似的东西。我想为Web链接构建baseUrl。因此,如果请求是通过https完成的,我想在所有链接中保留https。 问题答案: 编辑: 对于Express,它更安全,建议使用(如@Andy在下面建议)。尽管它使用类似的实现,但将来可以安全使用,并且还可以选择支持标头。 话虽如此,对于您的用例而

  • 问题内容: 我试图在网上找到答案,但是找不到特定于实现的答案。 我可以选择,并进行了大量的业务,我想知道我怎么可以在它们之间进行选择? 我已阅读文档的onComplete和的onSuccess,但我可以从火力地堡文档,看这一个,例如,对于(如一个具体操作的示例操作),他们有时用,有时他们使用。 我怎么知道每种情况下哪个更好?有关系吗?考虑到我想知道每个操作是否成功。 问题答案: 顾名思义,将在任务

  • 问题内容: 我制作的jQuery控件存在一些问题。假设您有一个下拉列表,可让您输入要查找的商品的ID,当您按ENTER键或在文本框中失去焦点时,它会通过jQuery验证您输入的ID是否正确,如果没有输入则显示警报没错 事实是,当普通用户在其中输入无效值并通过按下“提交”按钮失去焦点时,jQuery帖子将在发送表单提交后返回。 有什么方法可以检查jQuery是否处理了任何异步请求,从而不允许表单提交

  • 问题内容: 我必须知道是String还是任何其他类类型,该怎么办?目前,我像下面那样做,但是它的编码不是很好。 问题答案: 是如果对象是或的子类 是仅当对象是一个

  • 问题内容: 在我的项目中,我使用angularjs框架,并且每当进行ajax调用时都喜欢使用该服务。但是在项目的某些部分中,UI不是通过ajax调用直接更新的,并且不需要angularjs绑定,我应该使用service还是plain ? 更具体地说,是否应该在我不关心UI的项目中最小化angularjs依赖性,还是用angular服务和指令将整个项目紧密包装? 问题答案: 如果您使用的是Angul

  • 问题内容: 具有以下代码,我如何知道execute()方法是导致插入还是导致更新?: 提前致谢。 问题答案: 考虑下面的MySQL测试表: 现有的样本数据如下: 使用默认的连接设置(在此进行描述),以下Java代码 产生以下控制台输出 现在,再次使用参数值运行相同的代码 控制台输出是 这表明,如果唯一索引导致现有行被更新,则实际上可以返回2。如果您需要有关 实际 测试代码的进一步帮助,则应编辑问题