iTP Secure WebServer System Administrators Guide (Version 7.5+)

Description
Use the Negotiation directive to specify the how the iTP Secure WebServer will select from
available representations of a requested page. For example, if the same content is available in
multiple languages, the server can provide the content in the user's preferred language. Content
negotiation is defined in the HTTP/1.1 specification; the iTP Secure WebServer supports server-driven
content negotiation, as described in that document. The multiview negotiation option is not defined
in the HTTP/1.1 specification but is a feature of the Apache HTTP/1.1 server.
If you specify the argument None, the server does not perform content negotiation. In this case, if
the file requested by the client is not present at the specified URL, the server returns an error status
(404) to the client, reporting that the resource is missing.
If you specify the argument Lang, the server selects content based on a language tag. A language
tag consists of an RFC 2068 language abbreviation, optionally followed by a hyphen and a
subtag; a subtag can be either an RFC 2068 country code or some other registered code. For
example, the code en-US signifies American English, and the code fr signifies French. The client
specifies the preferred language tag or tags in the Accept-language header; if no such header
appears in the request, the server uses the value or values specified in the LanguagePreference
directive. To support this feature, the target directory must have subdirectories with names
corresponding to the language tags. For example, if the client requests a French language
representation of the page /store1/welcome, the server looks for the file in the directory /store1/fr/.
To see RFC 2068, use this URL:
http://www.cis.ohio-state.edu/htbin/rfc/rfc2068.html
If an Accept-Language header is present, the server searches for a subdirectory that matches a
language tag in that header. To specify precedence among the tags, HTTP/1.1 defines the concept
of a q value for each tag; the server searches for subdirectories in order of descending q value.
If no q values are specified, the server searches for subdirectories in the order in which the language
tags occur in the Accept-language header.
If you specify the argument Mult, the server selects content based not only on a language tag,
but so on other headers in the request, matching the specified criteria to file extensions (not
subdirectories) in the target directory. For example, if the client requests a French language, HTML
representation of the page /store1/welcome, the server expects the file to be named
/store1/welcome.fr.html or /store1/welcome.html.fr. If no file matches all the criteria specified in
the request, the server weighs the criteria, from highest to lowest priority as:
Content or media type (such as audio/basic, text/html) from the Accept header
Natural language (such as en, de) from the Accept-language header
Content encoding (such as compress, gzip) from the Accept-encoding header
If the request does not include an Accept-language header, the server uses the values given in the
LanguagePreference directive.
NOTE: To use language as a criterion for multiview content negotiation, you must include a
LanguageSuffix directive to map each language tag to a file extension.
To use different content-negotiation policies in different regions of a WebServer environment, use
Negotiation as a Region command.
Default
If you omit this directive, the default value is None (no content negotiation).
Example
Assume that you specified the argument Mult and that the directory janedoe contains the files
xyz.html, xyz.en.html, and xyz.gif.
Negotiation 225