Когда я пытаюсь просмотреть этот URL (http://localhost:21664/home/test/تست) в браузере), URL-адрес в HttpRequest содержится в HttpContext, который создается в MVC Pipeline, не экранируется.

Но когда я пытаюсь создать объект HttpRequest вручную с теми же неанглоязычными символами, как показано ниже:
var httpRequest = new HttpRequest(string.Empty, "http://localhost:41111/تست/blahblah", string.Empty);
.Net изменяет (экранирует) URL-адрес, и результат выглядит следующим образом:

Я хочу знать, в чем разница между созданием HttpRequest вручную и HttpRequest, который находится в CurrentContext.