1.常见request的获取
request.getScheme(); 默认是http
常见request获取到项目路径的url: String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+"/";
request.getServerName();获取域名加上项目名
request.getServerPort();获取端口号
一般都能正常获取,但是如果是被nginx或tomcat重定向的,那么获取的协议一般都是http,获取的端口一般都是80,无法获取正常的协议和端口
2,js的获取
document.location.protocol 获取端口
此方法同上,如果服务器负载均衡或多重转发就可能获取错误的协议类型和端口
3.java截取链接地址
String URL = request.getRequestURL().toString();
if(!URL.startsWith("https:")) {
System.out.println("HTTPS");
}
依然有如上弊端;
4.js直接得到网址并indexOf()判断协议类型
location.href.indexOf("https") ==-1 ;那么协议就是http的
否则就是https的