What's the difference between Uri.Host and Uri.Authority

.net, c#, uri

Solution

Yes Brandon is absolutely correct, in layman terms

Authority = Host Name + Port No

And if URL protocol is using a default port, say port 80 for http URL, then only in that case Authority = Host Name (Port No is assumed to be 80),

Whereas Host Name is either Domain Name or I.P Address

Example:

`http://www.example.com/` Authority = www.example.com Host Name = www.example.com

`http://255.255.255.255:8080/`

Authority = 255.255.255.255:8080 Host Name = 255.255.255.255

Problem

`System.Uri` has `Host`, `Authority`, and `DnsSafeHost`. MS provides a nice example of when `Host` and `DnsSafeHost` are different here. I'd like a similar example/explanation for `Host` and `Authority`.

Original source