Why使用时斜杠有区别吗新的 URI(baseUri, 相对路径) http://msdn.microsoft.com/en-us/library/9hst1w91(v=vs.110).aspx?
此构造函数通过组合baseUri 和relativeUri 创建一个Uri 实例。
And, how相对路径可以安全/一致地附加到 URI 吗?
var badBase = new Uri("http://amee/noTrailingSlash");
var goodBase = new Uri("http://amee/trailingSlash/");
var f = "relPath";
new Uri(badBase, f) // BAD -> http://amee/relPath
new Uri(goodBase, f) // GOOD -> http://amee/trailingSlash/relPath
即使初始 URI 没有尾部斜杠,所需的输出也是“良好”的情况。
为什么使用 new URI(baseUri,relativePath) 时斜杠会有所不同?
嗯,这就是网络上通常发生的情况。
例如,假设我正在看http://foo.com/some/file1.html
并且有一个链接file2.html
- 该链接转到http://foo.com/some/file2.html
, 正确的?不是http://foo.com/some/file1.html/file2.html
.
更具体地说,这遵循第 5.2.3 节RFC 3986 http://www.ietf.org/rfc/rfc3986.txt.
5.2.3.合并路径
上面的伪代码指的是用于合并一个“合并”例程
相对路径引用与基本 URI 的路径。这是
完成如下:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)