浏览器如何 resolves/constructs 绝对 url 从相对的

How does a browser resolves/constructs an absolute url from a relative one

浏览器地址栏中显示 url 的网站:www.something.com/abc/def/ghi。 当您查看任何网站的源代码时,锚标记具有相对 href,如 href="../jkl/mno" 当您单击 link 时,浏览器如何确定它必须加载 www.something.com/abc/jkl/mno

例如:通过替换 "global/home" 部分浏览 https://alibabagroup.com/en/global/home --> Expand Investor Relations --> Inspect source of any link. e.g. a href="../ir/home" --> Click the link --> Browser resolves this to "https://www.alibabagroup.com/en/ir/home"

此外,如果有人知道如何在 C sharp 中以编程方式实现这一点,那将是一个很大的帮助?一些功能如下:

string ToAbsoluteUrl("https://alibabagroup.com/en/global/home", "../ir/home")
{
    // Outputs as "https://alibabagroup.com/en/ir/home"
}
string ToAbsoluteUrl(params string[] pathParts)
{
    return new Uri(Path.Combine(pathParts)).ToString();
}

这样使用:

ToAbsoluteUrl("https://alibabagroup.com/en/global/home", "../ir/home");

这可以通过遵循 question here 来实现:

static string ToAbsoluteUrl(string a, string b)
{   
    return new Uri(new Uri(a), b).ToString();
}