I think the reason it works is that Authority encodes the default port specially as `port == 0`. Normalization (`normalizePort`) makes sure this is valid even if the port was explicitly specified like in the test-case above. Since this is public API it would maybe make sense to make the API a bit more explicit about this fact. See this console snippet for an example:

```
scala> val uri = Uri("http://example.com:80/")
uri: spray.http.Uri = http://example.com/

scala> uri.authority.port
res3: Int = 0
```