A single header. Headers have a name (case insensitive) and a value. The
character set for header and values are both restrictive.
Represents a header name that we know to be both valid and lowercase.
Internally, this avoids allocating for headers that are constant strings,
like the predefined ones in this crate, however even without that
optimization, we would still likely have an equivalent of this for use
as a case-insensitive string guaranteed to only have valid characters.
A list of headers.
Indicates an invalid header name. Note that we only emit
this for response headers, for request headers, we panic
instead. This is because it would likely come through as
a network error if we emitted it for local headers, when
it’s actually a bug that we’d need to fix.
A response from the server.