Where credential headers may be sent: one canonical origin plus a whole-segment path
prefix, for example https://api.example.com/api. Configured per request with
crate::Request::credential_scope; the clients strip credential-named and
secret-valued headers on the first request and on every redirect hop whose URL is
outside the scope, exactly as they already do for a cross-origin hop. The scope never
admits a destination: the outbound address policy still runs on every hop, so a
metadata or link-local target inside the path prefix stays denied.
Matching is by decoded path segment, never by string prefix: scope /api admits
/api and /api/users, and refuses /apievil, a .. or . segment (raw or
percent-encoded), a segment that decodes to text containing / or \, and any path
containing a backslash. Origin comparison is canonical (scheme and host lowercased,
one trailing dot ignored, default ports folded), the same form the redirect rules use.
Parse an absolute http/https URL naming the scope, such as
https://api.example.com:8443/api. None for anything malformed, a URL with
userinfo, a query or a fragment, or a path the segment rules refuse (above).