diff options
author | Jason S. Lingohr <jsl@apache.org> | 2003-09-19 10:41:09 +0000 |
---|---|---|
committer | Jason S. Lingohr <jsl@apache.org> | 2003-09-19 10:41:09 +0000 |
commit | 1694ed909d339128068f4938a53eaf2c14e9ad90 (patch) | |
tree | 988401d555fce5064a857af8b31ea9110b25a0aa /docs/manual/content-negotiation.xml | |
parent | 67496e95c45c184347889ad7477dfe7367714f18 (diff) | |
download | httpd-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.xml | 119 |
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> |