scheme - the URL scheme, such as "http" or "inproc" (always lower
case).
 
userinfo - the username and password (if supplied in the URL
string).
 
hostname - the name of the host.
 
port - the port (if not specified, the default port if defined by
the scheme).
 
path - the path, typically used with HTTP or WebSocket.
 
query - the query info (typically following ? in the URL).
 
fragment - used for specifying an anchor, the part after # in a
URL.