summaryrefslogtreecommitdiff
path: root/docs/manual/content-negotiation.xml
diff options
context:
space:
mode:
authorJason S. Lingohr <jsl@apache.org>2003-09-19 10:41:09 +0000
committerJason S. Lingohr <jsl@apache.org>2003-09-19 10:41:09 +0000
commit1694ed909d339128068f4938a53eaf2c14e9ad90 (patch)
tree988401d555fce5064a857af8b31ea9110b25a0aa /docs/manual/content-negotiation.xml
parent67496e95c45c184347889ad7477dfe7367714f18 (diff)
downloadhttpd-1694ed909d339128068f4938a53eaf2c14e9ad90.tar.gz
Corrections/fixes & transformation update.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@101292 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'docs/manual/content-negotiation.xml')
-rw-r--r--docs/manual/content-negotiation.xml119
1 files changed, 61 insertions, 58 deletions
diff --git a/docs/manual/content-negotiation.xml b/docs/manual/content-negotiation.xml
index b9b15e4986..098bc0c7a5 100644
--- a/docs/manual/content-negotiation.xml
+++ b/docs/manual/content-negotiation.xml
@@ -255,8 +255,8 @@
<tr valign="top">
<td>Media Type</td>
- <td>Browser indicates preferences with the Accept header
- field. Each item can have an associated quality factor.
+ <td>Browser indicates preferences with the <code>Accept</code>
+ header field. Each item can have an associated quality factor.
Variant description can also have a quality factor (the
"qs" parameter).</td>
</tr>
@@ -264,26 +264,27 @@
<tr valign="top">
<td>Language</td>
- <td>Browser indicates preferences with the Accept-Language
- header field. Each item can have a quality factor. Variants
- can be associated with none, one or more than one
- language.</td>
+ <td>Browser indicates preferences with the
+ <code>Accept-Language</code> header field. Each item can
+ have a quality factor. Variants can be associated with none,
+ one or more than one language.</td>
</tr>
<tr valign="top">
<td>Encoding</td>
- <td>Browser indicates preference with the Accept-Encoding
- header field. Each item can have a quality factor.</td>
+ <td>Browser indicates preference with the
+ <code>Accept-Encoding</code> header field. Each item can have
+ a quality factor.</td>
</tr>
<tr valign="top">
<td>Charset</td>
- <td>Browser indicates preference with the Accept-Charset
- header field. Each item can have a quality factor. Variants
- can indicate a charset as a parameter of the media
- type.</td>
+ <td>Browser indicates preference with the
+ <code>Accept-Charset</code> header field. Each item can have a
+ quality factor. Variants can indicate a charset as a parameter
+ of the media type.</td>
</tr>
</table>
</section>
@@ -310,30 +311,30 @@
move on to the next test.
<ol>
- <li>Multiply the quality factor from the Accept header
- with the quality-of-source factor for this variant's
- media type, and select the variants with the highest
- value.</li>
+ <li>Multiply the quality factor from the <code>Accept</code>
+ header with the quality-of-source factor for this variants
+ media type, and select the variants with the highest
+ value.</li>
<li>Select the variants with the highest language quality
factor.</li>
<li>Select the variants with the best language match,
using either the order of languages in the
- Accept-Language header (if present), or else the order of
- languages in the <code>LanguagePriority</code> directive
- (if present).</li>
+ <code>Accept-Language</code> header (if present), or else
+ the order of languages in the <code>LanguagePriority</code>
+ directive (if present).</li>
<li>Select the variants with the highest 'level' media
parameter (used to give the version of text/html media
types).</li>
<li>Select variants with the best charset media
- parameters, as given on the Accept-Charset header line.
- Charset ISO-8859-1 is acceptable unless explicitly
- excluded. Variants with a <code>text/*</code> media type
- but not explicitly associated with a particular charset
- are assumed to be in ISO-8859-1.</li>
+ parameters, as given on the <code>Accept-Charset</code>
+ header line. Charset ISO-8859-1 is acceptable unless
+ explicitly excluded. Variants with a <code>text/*</code>
+ media type but not explicitly associated with a particular
+ charset are assumed to be in ISO-8859-1.</li>
<li>Select those variants which have associated charset
media parameters that are <em>not</em> ISO-8859-1. If
@@ -360,17 +361,17 @@
</li>
<li>The algorithm has now selected one 'best' variant, so
- return it as the response. The HTTP response header Vary is
- set to indicate the dimensions of negotiation (browsers and
- caches can use this information when caching the resource).
- End.</li>
+ return it as the response. The HTTP response header
+ <code>Vary</code> is set to indicate the dimensions of
+ negotiation (browsers and caches can use this information when
+ caching the resource). End.</li>
<li>To get here means no variant was selected (because none
are acceptable to the browser). Return a 406 status (meaning
"No acceptable representation") with a response body
consisting of an HTML document listing the available
- variants. Also set the HTTP Vary header to indicate the
- dimensions of variance.</li>
+ variants. Also set the HTTP <code>Vary</code> header to
+ indicate the dimensions of variance.</li>
</ol>
</section>
</section>
@@ -383,16 +384,16 @@
negotiation algorithm above. This is to get a better result
from the algorithm for browsers which do not send full or
accurate information. Some of the most popular browsers send
- Accept header information which would otherwise result in the
- selection of the wrong variant in many cases. If a browser
- sends full and correct information these fiddles will not be
- applied.</p>
+ <code>Accept</code> header information which would otherwise
+ result in the selection of the wrong variant in many cases. If a
+ browser sends full and correct information these fiddles will not
+ be applied.</p>
<section id="wildcards"><title>Media Types and Wildcards</title>
- <p>The Accept: request header indicates preferences for media
- types. It can also include 'wildcard' media types, such as
- "image/*" or "*/*" where the * matches any string. So a request
+ <p>The <code>Accept:</code> request header indicates preferences
+ for media types. It can also include 'wildcard' media types, such
+ as "image/*" or "*/*" where the * matches any string. So a request
including:</p>
<example>Accept: image/*, */*</example>
@@ -417,14 +418,14 @@
low preference of 0.01, so other types will only be returned if
no variant matches an explicitly listed type.</p>
- <p>If the Accept: header contains <em>no</em> q factors at all,
- Apache sets the q value of "*/*", if present, to 0.01 to
- emulate the desired behavior. It also sets the q value of
- wildcards of the format "type/*" to 0.02 (so these are
- preferred over matches against "*/*". If any media type on the
- Accept: header contains a q factor, these special values are
- <em>not</em> applied, so requests from browsers which send the
- explicit information to start with work as expected.</p>
+ <p>If the <code>Accept:</code> header contains <em>no</em> q
+ factors at all, Apache sets the q value of "*/*", if present, to
+ 0.01 to emulate the desired behavior. It also sets the q value of
+ wildcards of the format "type/*" to 0.02 (so these are preferred
+ over matches against "*/*". If any media type on the
+ <code>Accept:</code> header contains a q factor, these special
+ values are <em>not</em> applied, so requests from browsers which
+ send the explicit information to start with work as expected.</p>
</section>
<section id="exceptions"><title>Language Negotiation Exceptions</title>
@@ -434,15 +435,17 @@
negotiation fails to find a match.</p>
<p>When a client requests a page on your server, but the server
- cannot find a single page that matches the Accept-language sent by
+ cannot find a single page that matches the
+ <code>Accept-language</code> sent by
the browser, the server will return either a "No Acceptable
Variant" or "Multiple Choices" response to the client. To avoid
these error messages, it is possible to configure Apache to ignore
- the Accept-language in these cases and provide a document that
- does not explicitly match the client's request. The <directive
+ the <code>Accept-language</code> in these cases and provide a
+ document that does not explicitly match the client's request. The
+ <directive
module="mod_negotiation">ForceLanguagePriority</directive>
directive can be used to override one or both of these error
- messages and substitute the servers judgement in the form of the
+ messages and substitute the servers judgement in the form of the
<directive module="mod_negotiation">LanguagePriority</directive>
directive.</p>
@@ -453,11 +456,11 @@
standard to match that against a document that is marked as simply
<code>en</code>. (Note that it is almost surely a configuration
error to include <code>en-GB</code> and not <code>en</code> in the
- Accept-Language header, since it is very unlikely that a reader
- understands British English, but doesn't understand English in
- general. Unfortunately, many current clients have default
- configurations that resemble this.) However, if no other language
- match is possible and the server is about to return a "No
+ <code>Accept-Language</code> header, since it is very unlikely
+ that a reader understands British English, but doesn't understand
+ English in general. Unfortunately, many current clients have
+ default configurations that resemble this.) However, if no other
+ language match is possible and the server is about to return a "No
Acceptable Variants" error or fallback to the <directive
module="mod_negotiation">LanguagePriority</directive>, the server
will ignore the subset specification and match <code>en-GB</code>
@@ -470,7 +473,7 @@
specification and to work effectively with properly configured
clients.</p>
- <p>In order to support advanced techniques (such as Cookies or
+ <p>In order to support advanced techniques (such as cookies or
special URL-paths) to determine the user's preferred language,
since Apache 2.0.47 <module>mod_negotiation</module> recognizes
the <a href="env.html">environment variable</a>
@@ -494,9 +497,9 @@ variant lists to label variants which are available with a specific
content-encoding only. The implementation of the RVSA/1.0 algorithm
(RFC 2296) is extended to recognize encoded variants in the list, and
to use them as candidate variants whenever their encodings are
-acceptable according to the Accept-Encoding request header. The
-RVSA/1.0 implementation does not round computed quality factors to 5
-decimal places before choosing the best variant.</p>
+acceptable according to the <code>Accept-Encoding</code> request
+header. The RVSA/1.0 implementation does not round computed quality
+factors to 5 decimal places before choosing the best variant.</p>
</section>
<section id="naming"><title>Note on hyperlinks and naming conventions</title>