同一页面的 HTTP 和 HTTPS 版本呈现不同

HTTP and HTTPS version of a same page render differently

以下是相关页面的链接:

页面的 https 版本不呈现文章顶部嵌入的视频。我检查了源代码,发现 HTTPs 缺少一整块代码,如下图所示:

我想知道这是怎么发生的? http(s)不就是和服务器通信的协议吗?为什么我使用不同的协议得到不同的代码?

来自 Chrome 开发人员工具包:

位于“https://www.eyeviewdigital.com/blog/eyeview-launches-addressable-tv-ads-with-cablevision-dish-programmatic-tv-w-clypd-and-wideorbit/' was loaded over HTTPS, but requested an insecure script 'http://pshared.5min.com/Scripts/PlayerSeed.js?sid=281&width=480&height=401&playList=519141523”的页面。此请求已被阻止;内容必须通过 HTTPS 提供。

您通常需要以 http 或 https 加载内容。将它们混合在一起会导致上述错误。

第 252 行替换

http://pshared.5min.com/Scripts/PlayerSeed.js?sid=281&width=480&height=401&playList=519141523

https://delivery.vidible.tv/aol?sid=281&width=480&height=401&playList=519141523.js

长话短说,内容从未加载,因此页面看起来不同。

你是对的,基于 http/https 应该没有区别,因为它只是传输层。产生 html 的服务器代码中一定有某些东西根据用于发出请求的 url 表现不同。建议您提供web服务器代码信息,帮助分析问题。

这很可能是因为您从不安全的来源加载元素。 Google Chrome 例如,当您的页面通过 https 加载时通过 http 加载图像可能会导致图像根本无法加载。当然,这都是出于安全目的。只需检查所有代码并确保所有源都通过安全 https 访问,以便它们正确加载。