Как браузер разрешает / создает абсолютный URL из относительного - PullRequest
0 голосов
/ 10 октября 2018

Веб-сайт, отображающий URL в адресной строке браузера: www.something.com/abc/def/ghi.Когда вы просматриваете исходный сайт любого веб-сайта, теги привязки имеют относительные hrefs, например href="../jkl/mno". Когда вы нажимаете на ссылку, как браузер определяет, что он должен загрузить www.something.com/abc/jkl/mno?

Например: browse https://alibabagroup.com/en/global/home -> Расширить отношения с инвесторами -> Проверить источник любой ссылки.например, a href="../ir/home" -> Нажмите на ссылку -> Браузер разрешает это в "https://www.alibabagroup.com/en/ir/home", заменив "global/home" часть

Кроме того, было бы очень полезно, если кто-то знает, какдостичь этого программно в C Sharp? Некоторые функции, как показано ниже:

string ToAbsoluteUrl("https://alibabagroup.com/en/global/home", "../ir/home")
{
    // Outputs as "https://alibabagroup.com/en/ir/home"
}

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

Этого можно достичь, задав вопрос здесь :

static string ToAbsoluteUrl(string a, string b)
{   
    return new Uri(new Uri(a), b).ToString();
}
0 голосов
/ 10 октября 2018
string ToAbsoluteUrl(params string[] pathParts)
{
    return new Uri(Path.Combine(pathParts)).ToString();
}

используйте это так:

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