1.3 Overview
This document specifies a set of extensions to the Hypertext Transfer Protocol (HTTP) [RFC2616] dealing with internationalization of host names, with query strings, and with the path syntax.
Originally, the HTTP protocol was defined only in terms of the ASCII character set. However, there quickly became a demand to support languages other than English. Among other things, this notably affected two types of data. First, it affected strings passed in the query component of a Uniform Resource Locator (URL) (later called a Uniform Resource Identifier (URI) in [RFC3986]) for use in fields in forms, doing lookups in search engines, and so on. Second, a demand arose to give servers names in the native language, thus resulting in an internationalized host name.
A mechanism known as Internationalized Domain Names for Applications (IDNA), for supporting internationalized host names in protocols defined for ASCII, was later standardized and is now specified in [RFC5890] and [TR46]. In the meantime, the extensions in this document were already in use, which include:
The transport of query string parameters in URIs without being percent-encoded.
The use of characters in the HTTP Host header without being limited to the ASCII subset of characters, as opposed to requiring IDNA encoding to get an ASCII string to include.
A second extension is that the syntax of the path component of a URI is extended to allow square brackets "[" and "]" without being percent encoded.