HTTP_*
These variables are specific to requests made with HTTP.
Interpretation of these variables may depend on the value of
SERVER_PROTOCOL.
Environment variables with names beginning with "HTTP_" contain
header data read from the client, if the protocol used was HTTP.
The HTTP header name is converted to upper case, has all
occurrences of "-" replaced with "_" and has "HTTP_" prepended to
give the environment variable name. The header data may be
presented as sent by the client, or may be rewritten in ways which
do not change its semantics. If multiple headers with the same
field-name are received then they must be rewritten as a single
header having the same semantics. Similarly, a header that is
received on more than one line must be merged onto a single line.
The server must, if necessary, change the representation of the
data (for example, the character set) to be appropriate for a CGI
environment variable.
The server is not required to create environment variables for all
the headers that it receives. In particular, it may remove any
headers carrying authentication information, such as
"Authorization"; it may remove headers whose value is available to
the script via other variables, such as "Content-Length" and
"Content-Type".