您的位置:首页 > 理论基础 > 计算机网络

如何获取URL链接是http还是https

2016-06-23 15:19 399 查看
如题:

一般在后端有三种方式获取。

1,JAVA截取链接地址。

String URL = request.getRequestURL().toString();
if(!URL.startsWith("https:"))
{
System.out.println("HTTPS");
}

2,JAVA获取协议

if("http".equals(request.getScheme()))
System.out.println("HTTP");
if("https".equals(request.getScheme()))
System.out.println("HTTPS");

3,JS获取协议

if("https:" == document.location.protocol)
alert("HTTPS");

以上方法一般情况下都是管用的。不过有些受到服务器环境的影响,比如负载均衡、多重转发。这样上面的方法就不管用了,这时候url链接和协议已经不是那么规则了。

之前遇到一个需求就是把某个页面限定是http的,尝试上面三种判断后无效,故选择在vm里面进行判断。如下:

script type="text/javascript">
if( location.href.indexOf("https") > -1 ){
location.href = "http://"+ location.hostname +"/XXXX.htm";
}
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: