如何获取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";
	}








你可能感兴趣的:(Java,Web,学习)