iTP Secure WebServer System Administrators Guide (Version 7.5+)
Configuration Directives for Content Negotiation
The iTP Secure WebServer makes content-negotiation decisions on the basis of the following three
configuration directives:
• The Negotiation directive specifies whether the server should perform content negotiation
and, if so, whether to make decisions based on language alone or also on the basis of
encoding and character set. For example, the following directive specifies that the server
should allow multiple content-negotiation criteria:
Negotiation Mult
• The LanguagePreference directive specifies how the server should choose among different
language representations of the same content in cases in which the request does not include
an Accept-Language header. (If the request includes an Accept-Language header, the server
chooses according to the information in that header.) For example, the following directive
specifies that the server should select English by preference but that, if no English-language
version of the content exists, the server should select French:
LanguagePreference {en,fr}
• The LanguageSuffix directive maps between the RFC 2068 standard abbreviation for a
language (such as en-US for American English and de for German) and the extension used
to identify files in that language on the host. For example, the following directive specifies
that German language files will have the extension .ger:
LanguageSuffix de .ger
For detailed information about these directives, see “Configuration Directives” (page 198).
To see RFC 2068, use the following URL:
http://www.ietf.org/rfc/rfc2068.txt
Storing Content for Negotiation
To select among different representations of the same content, the server does not examine the
files; rather, it searches for path components or file extensions that correspond to
content-representation options. The server behaves very differently depending on whether the
Negotiation directive specifies language-only (Lang), multiview (Mult), or no (None) content
negotiation. In fact, you must store your content differently depending on the kind of negotiation
you choose.
Language Only. If the configuration species language-only content negotiation (Lang), the server
examines the request URL, and then:
1. If the requested file is present at the specified location, as determined by the URL and any
applicable Filemap directives, the server returns the file. No content negotiation occurs.
2. If the requested file is not present at the specified location, the server searches for a subdirectory
that has the name of the RFC 2068 standard abbreviation for the preferred language.
For example, if the request contains the URL:
/us/ca/sj/store1/product.html
and if an AcceptLanguage header specifies English (en) followed by German (de) as acceptable
languages, the server first searches for the subdirectory:
/store1/en/
If no such directory exists, the server searches for the subdirectory:
/store1/de/
If the request does not contain an AcceptLanguage header, the server uses the value or values
of the LanguagePreference directive to condition the search. If the configuration does not
102 Configuring the iTP Secure WebServer










