Header names must be non-empty HTTP token strings. This method is suitable for checking user-supplied names before constructing or mutating Headers; the mutating helpers enforce the same invariant.
Values may not contain carriage return or line feed characters. Rejecting CR/LF prevents response/request splitting and header-injection attacks when values are rendered into an HTTP message.