; ; authority from the URI RFC 3986 ; NOTE: While we have greatly simplified "userinfo" and "host", ; the simplifications retain the fact that there is a great ; deal of overlap in the characters space accepted by the two phrases. ; That is, "userinfo" and "host" could easily both accept the same phrase. ; And that is the essential problem this grammar is designed to emphasize. ; authority = [ userinfo "@" ] host [ ":" port ] host = reg-name ;userinfo = *( unreserved / pct-encoded / sub-delims / ":" ) ;host = IP-literal / IPv4address / reg-name ;reg-name = *( unreserved / pct-encoded / sub-delims ) userinfo = *( ALPHA / DIGIT / "." / ":" ) reg-name = *( ALPHA / DIGIT/ "." ) port = *DIGIT ALPHA = %d65-90 / %d97-122 DIGIT = %d48-57