Validates and parses absolute URLs:
Optional http:// or https:// at the start
IPv4 supported, IPv6 NOT supported
International characters (punycode) NOT supported
Extracts scheme, username, password, IPv4 address or domain, port, path, querystring and fragment
Sensible restrictions on domain and path