构建一个MVC2.0网站,并在我的Site.Master中使用内容交付网络(CDN)。我使用以下CDN:
所有这些CDN都是使用http://提供的。
我的网站目前支持SSL和非SSL页面.当导航到启用SSL的页面时,我会得到一个错误,因为CDN链接到HTTP://
虽然我知道您可以使用SSL版本的CDN,但我的问题更像是:
由于我有非SSL和SSL页面都共享,同样的 *Site.Master*,我该怎么办?我应该简单地为SSL和非SSL页面获得启用SSL的第一个版本吗?或者我应该做一些“如果…”其他“?
这些方法中的任何一种有什么好处吗?
谢谢
发布于 2010-12-06 19:29:46
if.else看起来是最可行的解决方案,尽管您可能希望总是使用,而忘记一切。
关于具有混合安全内容的页面的警告是合理的,因为脚本可能在不安全的连接上被利用.想一想银行网站的黑客脚本,该脚本将您的帐户历史记录的HTML标记转发给恶意用户。
使用if-else语句检查哪些协议字符串要预先添加到外部资源的URL中没有什么坏处,甚至性能(检查是在微秒内完成的.),但是在性能方面,虽然不需要,但始终使用SSL的缺点是存在的,因为浏览器必须建立安全连接(SSL/else握手)并执行许多不必要的加密操作。
我会选择if-else,因为您使用了母版页,所以您的代码中需要修改的位置更少了!
发布于 2011-12-13 08:22:37
抱歉,这是真正的答案,伙计们。请继续阅读,以启发自己。
忘记你过去做过的用来检查BS协议的“如果其他垃圾”。
对于支持SSL的CDN,如或Microsoft,完全省略该协议。是的,我说了。完全省略协议,如果其他测试停止。我这么做是为了我所有的电子商务网站。这么多人不知道的巧妙的事实是,忽略了协议,迫使URL使用网站URL所使用的任何协议,所以如果您使用SSL、bam、它使用SSL等,这实际上是一个web标准,所有浏览器都实现了这一点。
例如,我所有的CDN图像资源和静态文件等都使用URL,如下所示:
<img src="//d34ic8my8k87as.cloudfront.net/img/web/success-icon.png" />如果你在互联网上阅读RFCs和说明书,你会发现一些隐藏在你眼皮底下的东西。你可以看到我的个人资料,为一些网站这样做的现场。希望这能有所帮助。
https://stackoverflow.com/questions/4369905
复制相似问题