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

如题:

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

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>








  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值