2.2.2 Host Header

HTTP is defined in [RFC2616] as using text encoded in ISO-8859-1 [ISO/IEC-8859-1]. The Host header is specified in [RFC2616] section 14.23 with a more restricted syntax, however. It uses the syntax restrictions specified in [RFC2396], which specifies that the Host header value can use only a limited set of characters, all within the ASCII character set. When using HTTPS and the server name indication extension specified in [RFC6066], the host name specified in the Host header SHOULD<1> match the host name specified in the server name indication extension.

This specification extends the Host header syntax to permit the value to be encoded in UTF-8 [RFC3629] or in the client's code page rather than requiring the use of IDNA to generate an ASCII string. This means that characters might be encoded using octets that are not allowed in ISO-8859-1.