震惊!仅一个符号就“黑掉”你的网页!

最近遇到一个问题:https的跳转总是重定向到http中

请求时写的是https

结果返回的是  http  
很奇怪,自己没有写重定向,而且同样的代码,发布在http中就可以用

通过一遍遍的摸查,才发现了一个秘密 ——    浏览器重定向

==================================

当我们发布网站时,若是主站下面的默认首页(通常为index.html)不是

在网站根目录下时,就像如下的情况


网站以WebSite为根目录,然后index的文件分别在ROX目录和TL目录里,

然后发布地址是localhost:8082(以http协议)

这个时候访问localhost:8082,得到的是个目录文件


若我们想访问ROX里的index.html ,

一般直接在地址栏里加上 "/ROX" 

或者 使用js跳转语句  得到



BUT 

 

这时候看下NetWork会发现,在请求的资源前还有一个重定向!!



浏览器给请求地址多加了一个后缀 "/",

请求地址从 http://localhost:8082/ROX 

变为了 http://localhost:8082/ROX/

这是http协议下的看不出什么影响,如果是https那?


可以看到 在请求地址不加 访问具体页面路径的情况下

浏览器想帮助你访问默认首页,自动帮你加了"/"

但是 重定向为 http,这就出现了文章开头 访问不到的情况


而如果我们自己手动加上

是可以访问页面资源的

==================================

总结

何时可以忽略这种情况?

1.网站发布的方式为http协议

2.网站的默认首页就在网站发布的根目录下


否则就在我们跳转首页的地址上加上 "/"吧

location.href="xxx/"


猜你喜欢

转载自blog.csdn.net/ZYD45/article/details/80839523