踩坑:相同域名不同路径,支持不同的协议

文章讲述了开发者在使用HTTPS认证中心进行单点登录时遇到的问题,即部分电脑会自动将HTTP目标地址转为HTTPS,导致跳转失败。解决方法包括更换HTTP域名或在网页JS中强制使用正确的协议。同时,解释了域名和协议的关系,强调协议由服务器配置决定,不同路径不影响协议选择。
摘要由CSDN通过智能技术生成

在日常开发中遇到一个问题,我有一个认证中心(https://www.example.com/path1/page1),他的目的是可以单点登录至其他平台,但我认证中心域名使用的是https协议,其中有一个需要单点登录的平台是http协议的(http://www.example.com/path2/page2),正常来说浏览器不会强制转换协议,你从https协议的网站前往http协议的网站不会出现协议的问题。

但是有几台电脑他们跳转时候就发生了错误,深入了解以后发现,他们跳转的时候自动把http协议的网站默认变成https进行访问,我需要前往的是http://www.example.com/path2/page2,但是跳转时候自动变成了https://www.example.com/path2/page2,从而跳转失败,又回到了https://www.example.com/path1/page1。

最后我们的解决办法是:

将http://www.example.com/path2/page2域名的网站进行域名的更换,变成了http://www.exampleiii.com/path2/page2,这样跳转就不会失败了。

其他方法:

在网页中使用js

if (location.protocol !== "https:") {
    location.href = "https://" + location.hostname + location.pathname + location.search;
}
 

最后我们来了解一下域名和协议的关系:

一个域名也是可以支持不同的协议:

相同域名,不同路径也不会影响其对应的协议,在互联网上,协议是与域名或IP地址相关联的,而路径通常用于指定服务器上特定资源的位置。一般来说,无论访问域名下的哪个路径,所使用的协议(例如HTTP或HTTPS)都是由服务器配置决定的。

例如,考虑以下两个URL:

  1. http://www.example.com/path1/page1
  2. https://www.example.com/path2/page2

在这两个URL中,域名是相同的(www.example.com),但路径不同(/path1/page1和/path2/page2)。服务器会根据域名(www.example.com)的配置来确定使用的协议(HTTP或HTTPS),而路径(/path1/page1和/path2/page2)只是指定服务器上的不同资源位置。

不同路径通常用于区分网站上不同的页面、资源或服务,但它们不会影响所使用的协议。协议通常由服务器管理员在服务器配置中指定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

多看书少吃饭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值