URL parser

Parse a URL into its separate constituent parts (protocol, origin, params, port, username-password, ...)

Invalid url

Protocol
Username
Password
Hostname
Port
Path
Params