61

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

例如: <img src="//domain.com/img.png" />将解析https://domain.com/img.png当前方案是 HTTPS 还是http://domain.com/img.png不是。

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

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

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

4

2 回答 2

57

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

它是相对于当前方案的,因此正如您所提到的,它在 http 和 https 之间切换时非常有用,因为您不需要显式指定方案。

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

进一步阅读堆栈溢出:

于 2010-08-27T10:05:09.987 回答
9

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

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

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

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

于 2013-01-23T19:48:22.583 回答