路径引用URI / Scheme相对URL

方案相对URL(网络路径引用)是我刚刚发现的 - 你没有指定URL的方案,并从当前上下文中挑选它。

例如:如果当前方案是HTTPS或http://domain.com/img.png<img src="//domain.com/img.png" />将解析为https://domain.com/img.png http://domain.com/img.png如果事实并非如此。

这似乎是解决在SSL页面上调用外部脚本或图像而不引发页面上某些内容不安全的可怕错误的棘手问题的一种非常简单的方法。

好处似乎是显而易见的,但是我似乎无法找到的关于此的大量信息,并且想知道任何人是否有任何关于方案相关URL(好或坏)的经验或参考?

虽然我试图发现是否有任何浏览器会导致问题(我已经成功使用IE6-8,Chrome和Firefox),但我也有兴趣了解是否有人有任何使用此功能的经验语言。 例如,如果您要在ASP中使用相对URL的方案发布Response.Redirect ,它会起作用吗?


//domain.com/img.png是根据RFC 3986完全有效的URI语法:第4.2节。

它与当前的方案相关,因此正如你所提到的,在切换http和https时非常有用,因为你不需要明确指定方案。

所有现代浏览器都会理解这种格式,包括IE 6。

进一步阅读Stack Overflow:

  • <script src="http://...">中用//代替http://是否有效?
  • <script>的源文件中使用//

  • 如果您想支持IE 7和8,您可能需要考虑该方案样式表的相对URL会导致它们被下载两次:

    [...]如果您在Internet Explorer 7和8中试用此功能,则会看到使用协议相对URL指定的样式表会被下载两次。

    如果他们希望Internet Explorer 7和8中的页面尽可能快,开发人员应避免使用协议相关的样式表网址。

    来源:http://www.stevesouders.com/blog/2010/02/10/5a-missing-schema-double-download/

    链接地址: http://www.djcxy.com/p/42217.html

    上一篇: Path Reference URI / Scheme relative URLs

    下一篇: Can I change all my http:// links to just //?