A base URL: an absolute http:/https: URL with a host and no query string or
fragment (the client appends its own path and query), without surrounding
whitespace or inner whitespace/control characters (the URL parser would drop or
encode them silently). Userinfo is allowed: it is sent as Basic auth, for a mirror
behind a login, and redacted in messages; a % in it must be an escape (%25 for
a literal one), since it is percent-decoded for the header. The reasons never
repeat the value.
A base URL: an absolute
http:/https:URL with a host and no query string or fragment (the client appends its own path and query), without surrounding whitespace or inner whitespace/control characters (the URL parser would drop or encode them silently). Userinfo is allowed: it is sent as Basic auth, for a mirror behind a login, and redacted in messages; a%in it must be an escape (%25for a literal one), since it is percent-decoded for the header. The reasons never repeat the value.