What about http://foo/ and http://foo:80/? Are those different URLs?
scala> new URL("http://localhost/foo/bar/baz").equals(new URL("http://localhost/foo/../foo/bar/baz"))
res0: Boolean = false
It's just funny to me that they went to the effort to do a full network request to see if the hostnames resolve to the same IP, but didn't bother to normalize paths. For example, because the "http" scheme makes use of an authority
component, has a default port of "80", and defines an empty path to be
equivalent to "/", the following four URIs are equivalent:
http://example.com
http://example.com/
http://example.com:/
http://example.com:80/