Parse a URL into components: protocol, host, port, path, query params (decoded), hash, origin, punycode hostname.