diff options
Diffstat (limited to 'docs/manual/content-negotiation.html.en')
-rw-r--r-- | docs/manual/content-negotiation.html.en | 148 |
1 files changed, 75 insertions, 73 deletions
diff --git a/docs/manual/content-negotiation.html.en b/docs/manual/content-negotiation.html.en index e8bac484c3..6cf4c01fc0 100644 --- a/docs/manual/content-negotiation.html.en +++ b/docs/manual/content-negotiation.html.en @@ -1,8 +1,10 @@ -<html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><!-- +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX This file is generated from xml source: DO NOT EDIT XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - --><title>Content Negotiation - Apache HTTP Server</title><link href="./style/manual.css" type="text/css" rel="stylesheet"></head><body><blockquote><div align="center"><img src="./images/sub.gif" alt="[APACHE DOCUMENTATION]"><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Content Negotiation</h1> + --><title>Content Negotiation - Apache HTTP Server</title><link href="./style/css/manual-sbar-right-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="right sidebar - blue (font 100%)" /><link href="./style/css/manual-sbar-right-90pc.css" rel="alternate stylesheet" media="all" type="text/css" title="right sidebar - blue (font 90%)" /><link href="./style/css/manual-sbar-right-fix15.css" rel="stylesheet" media="all" type="text/css" title="right sidebar - blue (font fix 15)" /><link href="./style/css/manual-sbar-right-fix13.css" rel="alternate stylesheet" media="all" type="text/css" title="right sidebar - blue (font fix 13)" /><link href="./style/css/manual-sbar-right-100pc-b.css" rel="alternate stylesheet" media="all" type="text/css" title="right sidebar - black (font 100%)" /><link href="./style/css/manual-sbar-right-90pc-b.css" rel="alternate stylesheet" media="all" type="text/css" title="right sidebar - black (font 90%)" /><link href="./style/css/manual-sbar-right-fix15-b.css" rel="alternate stylesheet" media="all" type="text/css" title="right sidebar - black (font fix 15)" /><link href="./style/css/manual-sbar-right-fix13-b.css" rel="alternate stylesheet" media="all" type="text/css" title="right sidebar - black (font fix 13)" /><link href="./style/css/manual-sbar-left-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="left sidebar - blue (font 100%)" /><link href="./style/css/manual-sbar-left-90pc.css" rel="alternate stylesheet" media="all" type="text/css" title="left sidebar - blue (font 90%)" /><link href="./style/css/manual-sbar-left-fix15.css" rel="alternate stylesheet" media="all" type="text/css" title="left sidebar - blue (font fix 15)" /><link href="./style/css/manual-sbar-left-fix13.css" rel="alternate stylesheet" media="all" type="text/css" title="left sidebar - blue (font fix 13)" /><link href="./style/css/manual-sbar-left-100pc-b.css" rel="alternate stylesheet" media="all" type="text/css" title="left sidebar - black (font 100%)" /><link href="./style/css/manual-sbar-left-90pc-b.css" rel="alternate stylesheet" media="all" type="text/css" title="left sidebar - black (font 90%)" /><link href="./style/css/manual-sbar-left-fix15-b.css" rel="alternate stylesheet" media="all" type="text/css" title="left sidebar - black (font fix 15)" /><link href="./style/css/manual-sbar-left-fix13-b.css" rel="alternate stylesheet" media="all" type="text/css" title="left sidebar - black (font fix 13)" /><link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="loose style - blue (font 100%)" /><link href="./style/css/manual-loose-90pc.css" rel="alternate stylesheet" media="all" type="text/css" title="loose style - blue (font 90%)" /><link href="./style/css/manual-loose-fix15.css" rel="alternate stylesheet" media="all" type="text/css" title="loose style - blue (font fix 15)" /><link href="./style/css/manual-loose-fix13.css" rel="alternate stylesheet" media="all" type="text/css" title="loose style - blue (font fix 13)" /><link href="./style/css/manual-loose-100pc-b.css" rel="alternate stylesheet" media="all" type="text/css" title="loose style - black (font 100%)" /><link href="./style/css/manual-loose-90pc-b.css" rel="alternate stylesheet" media="all" type="text/css" title="loose style - black (font 90%)" /><link href="./style/css/manual-loose-fix15-b.css" rel="alternate stylesheet" media="all" type="text/css" title="loose style - black (font fix 15)" /><link href="./style/css/manual-loose-fix13-b.css" rel="alternate stylesheet" media="all" type="text/css" title="loose style - black (font fix 13)" /><link href="./images/favicon.ico" rel="shortcut icon" /></head><body id="manual-page"><div id="page-header"><p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p><p class="apache">Apache HTTP Server Version 2.0</p><img alt="" src="./images/feather.gif" /></div><div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div><div id="path"><a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs-project/">Documentation</a> > <a href="./">Version 2.0</a></div><div id="page-content"><div id="preamble"><h1>Content Negotiation</h1> <p>Apache's supports content negotiation as described in the HTTP/1.1 specification. It can choose the best @@ -13,11 +15,11 @@ incomplete negotiation information.</p> <p>Content negotiation is provided by the - <code><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> module. + <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> module. which is compiled in by default.</p> -<ul><li><a href="#about">About Content Negotiation</a></li><li><a href="#negotiation">Negotiation in Apache</a><ul><li><a href="#type-map">Using a type-map file</a></li><li><a href="#multiviews">Multiviews</a></li></ul></li><li><a href="#methods">The Negotiation Methods</a><ul><li><a href="#dimensions">Dimensions of Negotiation</a></li><li><a href="#algorithm">Apache Negotiation Algorithm</a></li></ul></li><li><a href="#better">Fiddling with Quality - Values</a><ul><li><a href="#wildcards">Media Types and Wildcards</a></li><li><a href="#exceptions">Language Negotiation Exceptions</a></li></ul></li><li><a href="#extensions">Extensions to Transparent Content -Negotiation</a></li><li><a href="#naming">Note on hyperlinks and naming conventions</a></li><li><a href="#caching">Note on Caching</a></li><li><a href="#more">More Information</a></li></ul><hr><h2><a name="about">About Content Negotiation</a></h2> +</div><div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#about">About Content Negotiation</a></li><li><img alt="" src="./images/down.gif" /> <a href="#negotiation">Negotiation in Apache</a></li><li><img alt="" src="./images/down.gif" /> <a href="#methods">The Negotiation Methods</a></li><li><img alt="" src="./images/down.gif" /> <a href="#better">Fiddling with Quality + Values</a></li><li><img alt="" src="./images/down.gif" /> <a href="#extensions">Extensions to Transparent Content +Negotiation</a></li><li><img alt="" src="./images/down.gif" /> <a href="#naming">Note on hyperlinks and naming conventions</a></li><li><img alt="" src="./images/down.gif" /> <a href="#caching">Note on Caching</a></li><li><img alt="" src="./images/down.gif" /> <a href="#more">More Information</a></li></ul></div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div><div class="section"><h2><a name="about" id="about">About Content Negotiation</a></h2> <p>A resource may be available in several different representations. For example, it might be available in @@ -32,7 +34,7 @@ Negotiation</a></li><li><a href="#naming">Note on hyperlinks and naming conventi preferences by headers in the request. To request only French representations, the browser would send</p> -<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>Accept-Language: fr</code></td></tr></table></blockquote> +<div class="example"><p><code>Accept-Language: fr</code></p></div> <p>Note that this preference will only be applied when there is a choice of representations and they vary by language.</p> @@ -44,10 +46,10 @@ Negotiation</a></li><li><a href="#naming">Note on hyperlinks and naming conventi other media types, but also allowing any other media type as a last resort:</p> -<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code> - Accept-Language: fr; q=1.0, en; q=0.5<br> +<div class="example"><p><code> + Accept-Language: fr; q=1.0, en; q=0.5<br /> Accept: text/html; q=1.0, text/*; q=0.8, image/gif; q=0.6, image/jpeg; q=0.6, image/*; q=0.5, */*; q=0.1 -</code></td></tr></table></blockquote> +</code></p></div> <p>Apache supports 'server driven' content negotiation, as defined in the HTTP/1.1 specification. It fully supports the @@ -69,7 +71,7 @@ Negotiation</a></li><li><a href="#naming">Note on hyperlinks and naming conventi representations is termed a <strong>variant</strong>. The ways in which the variants for a negotiable resource vary are called the <strong>dimensions</strong> of negotiation.</p> -<h2><a name="negotiation">Negotiation in Apache</a></h2> +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div><div class="section"><h2><a name="negotiation" id="negotiation">Negotiation in Apache</a></h2> <p>In order to negotiate a resource, the server needs to be given information about each of the variants. This is done in @@ -85,7 +87,7 @@ Negotiation</a></li><li><a href="#naming">Note on hyperlinks and naming conventi results.</li> </ul> - <h3><a name="type-map">Using a type-map file</a></h3> + <h3><a name="type-map" id="type-map">Using a type-map file</a></h3> <p>A type map is a document which is associated with the handler named <code>type-map</code> (or, for @@ -94,7 +96,7 @@ Negotiation</a></li><li><a href="#naming">Note on hyperlinks and naming conventi use this feature, you must have a handler set in the configuration that defines a file suffix as <code>type-map</code>; this is best done with a</p> -<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>AddHandler type-map .var</code></td></tr></table></blockquote> +<div class="example"><p><code>AddHandler type-map .var</code></p></div> <p>in the server configuration file.</p> <p>Type map files should have the same name as the resource @@ -108,35 +110,35 @@ Negotiation</a></li><li><a href="#naming">Note on hyperlinks and naming conventi This file would be named <code>foo.var</code>, as it describes a resource named <code>foo</code>.</p> -<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code> - URI: foo<br> -<br> - URI: foo.en.html<br> - Content-type: text/html<br> - Content-language: en<br> -<br> - URI: foo.fr.de.html<br> - Content-type: text/html;charset=iso-8859-2<br> - Content-language: fr, de<br> -</code></td></tr></table></blockquote> +<div class="example"><p><code> + URI: foo<br /> +<br /> + URI: foo.en.html<br /> + Content-type: text/html<br /> + Content-language: en<br /> +<br /> + URI: foo.fr.de.html<br /> + Content-type: text/html;charset=iso-8859-2<br /> + Content-language: fr, de<br /> +</code></p></div> <p>Note also that a typemap file will take precedence over the filename's extension, even when Multiviews is on. If the variants have different source qualities, that may be indicated by the "qs" parameter to the media type, as in this picture (available as jpeg, gif, or ASCII-art): </p> -<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code> - URI: foo<br> -<br> - URI: foo.jpeg<br> - Content-type: image/jpeg; qs=0.8<br> -<br> - URI: foo.gif<br> - Content-type: image/gif; qs=0.5<br> -<br> - URI: foo.txt<br> - Content-type: text/plain; qs=0.01<br> -</code></td></tr></table></blockquote> +<div class="example"><p><code> + URI: foo<br /> +<br /> + URI: foo.jpeg<br /> + Content-type: image/jpeg; qs=0.8<br /> +<br /> + URI: foo.gif<br /> + Content-type: image/gif; qs=0.5<br /> +<br /> + URI: foo.txt<br /> + Content-type: text/plain; qs=0.01<br /> +</code></p></div> <p>qs values can vary in the range 0.000 to 1.000. Note that any variant with a qs value of 0.000 will never be chosen. @@ -156,12 +158,12 @@ Negotiation</a></li><li><a href="#naming">Note on hyperlinks and naming conventi typemap</a> documentation.</p> -<h3><a name="multiviews">Multiviews</a></h3> +<h3><a name="multiviews" id="multiviews">Multiviews</a></h3> <p><code>MultiViews</code> is a per-directory option, meaning it - can be set with an <a href="./mod/core.html#options" class="directive"><code class="directive">Options</code></a> - directive within a <a href="./mod/core.html#directory" class="directive"><code class="directive"><Directory></code></a>, <a href="./mod/core.html#location" class="directive"><code class="directive"><Location></code></a> or <a href="./mod/core.html#files" class="directive"><code class="directive"><Files></code></a> section in - <code>access.conf</code>, or (if <a href="./mod/core.html#allowoverride" class="directive"><code class="directive">AllowOverride</code></a> is properly set) in + can be set with an <code class="directive"><a href="./mod/core.html#options">Options</a></code> + directive within a <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>, <code class="directive"><a href="./mod/core.html#location"><Location></a></code> or <code class="directive"><a href="./mod/core.html#files"><Files></a></code> section in + <code>access.conf</code>, or (if <code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code> is properly set) in <code>.htaccess</code> files. Note that <code>Options All</code> does not set <code>MultiViews</code>; you have to ask for it by name.</p> @@ -177,10 +179,10 @@ Negotiation</a></li><li><a href="#naming">Note on hyperlinks and naming conventi then chooses the best match to the client's requirements.</p> <p><code>MultiViews</code> may also apply to searches for the file - named by the <a href="./mod/mod_dir.html#directoryindex" class="directive"><code class="directive">DirectoryIndex</code></a> directive, if the + named by the <code class="directive"><a href="./mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> directive, if the server is trying to index a directory. If the configuration files specify</p> -<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>DirectoryIndex index</code></td></tr></table></blockquote> +<div class="example"><p><code>DirectoryIndex index</code></p></div> <p>then the server will arbitrate between <code>index.html</code> and <code>index.html3</code> if both are present. If neither are present, and <code>index.cgi</code> is there, the server @@ -189,11 +191,11 @@ Negotiation</a></li><li><a href="#naming">Note on hyperlinks and naming conventi <p>If one of the files found when reading the directory does not have an extension recognized by <code>mod_mime</code> to designate its Charset, Content-Type, Language, or Encoding, then the result - depends on the setting of the <a href="./mod/mod_mime.html#multiviewsmatch" class="directive"><code class="directive">MultiViewsMatch</code></a> directive. This + depends on the setting of the <code class="directive"><a href="./mod/mod_mime.html#multiviewsmatch">MultiViewsMatch</a></code> directive. This directive determines whether handlers, filters, and other extension types can participate in MultiViews negotiation.</p> -<h2><a name="methods">The Negotiation Methods</a></h2> +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div><div class="section"><h2><a name="methods" id="methods">The Negotiation Methods</a></h2> <p>After Apache has obtained a list of the variants for a given resource, either from a type-map file or from the filenames in @@ -225,7 +227,7 @@ Negotiation</a></li><li><a href="#naming">Note on hyperlinks and naming conventi variant selection algorithm' defined in RFC 2296.</li> </ol> -<h3><a name="dimensions">Dimensions of Negotiation</a></h3> +<h3><a name="dimensions" id="dimensions">Dimensions of Negotiation</a></h3> <table> <tr valign="top"> @@ -270,7 +272,7 @@ Negotiation</a></li><li><a href="#naming">Note on hyperlinks and naming conventi </table> -<h3><a name="algorithm">Apache Negotiation Algorithm</a></h3> +<h3><a name="algorithm" id="algorithm">Apache Negotiation Algorithm</a></h3> <p>Apache can use the following algorithm to select the 'best' variant (if any) to return to the browser. This algorithm is @@ -355,7 +357,7 @@ Negotiation</a></li><li><a href="#naming">Note on hyperlinks and naming conventi dimensions of variance.</li> </ol> -<h2><a name="better">Fiddling with Quality +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div><div class="section"><h2><a name="better" id="better">Fiddling with Quality Values</a></h2> <p>Apache sometimes changes the quality values from what would @@ -368,23 +370,23 @@ Negotiation</a></li><li><a href="#naming">Note on hyperlinks and naming conventi sends full and correct information these fiddles will not be applied.</p> -<h3><a name="wildcards">Media Types and Wildcards</a></h3> +<h3><a name="wildcards" id="wildcards">Media Types and Wildcards</a></h3> <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 including:</p> -<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>Accept: image/*, */*</code></td></tr></table></blockquote> +<div class="example"><p><code>Accept: image/*, */*</code></p></div> <p>would indicate that any type starting "image/" is acceptable, as is any other type (so the first "image/*" is redundant). Some browsers routinely send wildcards in addition to explicit types they can handle. For example:</p> -<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code> +<div class="example"><p><code> Accept: text/html, text/plain, image/gif, image/jpeg, */* -</code></td></tr></table></blockquote> +</code></p></div> <p>The intention of this is to indicate that the explicitly listed types are preferred, but if a different representation is available, that is ok too. However under the basic algorithm, @@ -392,9 +394,9 @@ Negotiation</a></li><li><a href="#naming">Note on hyperlinks and naming conventi to all the other types, so they are not being preferred. The browser should really have sent a request with a lower quality (preference) value for *.*, such as:</p> -<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code> +<div class="example"><p><code> Accept: text/html, text/plain, image/gif, image/jpeg, */*; q=0.01 -</code></td></tr></table></blockquote> +</code></p></div> <p>The explicit types have no quality factor, so they default to a preference of 1.0 (the highest). The wildcard */* is given a low preference of 0.01, so other types will only be returned if @@ -410,7 +412,7 @@ Negotiation</a></li><li><a href="#naming">Note on hyperlinks and naming conventi correct information to start with work as expected.</p> -<h3><a name="exceptions">Language Negotiation Exceptions</a></h3> +<h3><a name="exceptions" id="exceptions">Language Negotiation Exceptions</a></h3> <p>New in Apache 2.0, some exceptions have been added to the negotiation algorithm to allow graceful fallback when language @@ -422,10 +424,10 @@ Negotiation</a></li><li><a href="#naming">Note on hyperlinks and naming conventi 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 explictly match the client's request. The <a href="./mod/mod_negotiation.html#forcelanguagepriority" class="directive"><code class="directive">ForceLanguagePriority</code></a> + does not explictly match the client's request. The <code class="directive"><a href="./mod/mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority</a></code> directive can be used to override one or both of these error messages and subsitute the servers judgement in the form of the - <a href="./mod/mod_negotiation.html#languagepriority" class="directive"><code class="directive">LanguagePriority</code></a> + <code class="directive"><a href="./mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code> directive.</p> <p>The server will also attempt to match language-subsets when no @@ -440,7 +442,7 @@ Negotiation</a></li><li><a href="#naming">Note on hyperlinks and naming conventi 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 <a href="./mod/mod_negotiation.html#languagepriority" class="directive"><code class="directive">LanguagePriority</code></a>, the server + Acceptable Variants" error or fallback to the <code class="directive"><a href="./mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code>, the server will ignore the subset specification and match <code>en-GB</code> against <code>en</code> documents. Implicitly, Apache will add the parent language to the client's acceptable language list with @@ -451,7 +453,7 @@ Negotiation</a></li><li><a href="#naming">Note on hyperlinks and naming conventi specification and to work effectively with properly configured clients.</p> -<h2><a name="extensions">Extensions to Transparent Content +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div><div class="section"><h2><a name="extensions" id="extensions">Extensions to Transparent Content Negotiation</a></h2> <p>Apache extends the transparent content negotiation protocol (RFC @@ -463,7 +465,7 @@ 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> -<h2><a name="naming">Note on hyperlinks and naming conventions</a></h2> +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div><div class="section"><h2><a name="naming" id="naming">Note on hyperlinks and naming conventions</a></h2> <p>If you are using language negotiation you can choose between different naming conventions, because files can have more than @@ -490,7 +492,7 @@ decimal places before choosing the best variant.</p> <p>Here some more examples of filenames together with valid and invalid hyperlinks:</p> - <table border="1" cellpadding="8" cellspacing="0"> + <table class="bordered"> <tr> <th>Filename</th> @@ -502,7 +504,7 @@ decimal places before choosing the best variant.</p> <tr> <td><em>foo.html.en</em></td> - <td>foo<br> + <td>foo<br /> foo.html</td> <td>-</td> @@ -519,10 +521,10 @@ decimal places before choosing the best variant.</p> <tr> <td><em>foo.html.en.gz</em></td> - <td>foo<br> + <td>foo<br /> foo.html</td> - <td>foo.gz<br> + <td>foo.gz<br /> foo.html.gz</td> </tr> @@ -531,16 +533,16 @@ decimal places before choosing the best variant.</p> <td>foo</td> - <td>foo.html<br> - foo.html.gz<br> + <td>foo.html<br /> + foo.html.gz<br /> foo.gz</td> </tr> <tr> <td><em>foo.gz.html.en</em></td> - <td>foo<br> - foo.gz<br> + <td>foo<br /> + foo.gz<br /> foo.gz.html</td> <td>foo.html</td> @@ -549,8 +551,8 @@ decimal places before choosing the best variant.</p> <tr> <td><em>foo.html.gz.en</em></td> - <td>foo<br> - foo.html<br> + <td>foo<br /> + foo.html<br /> foo.html.gz</td> <td>foo.gz</td> @@ -570,7 +572,7 @@ decimal places before choosing the best variant.</p> extension (including an encoding extension if there is one) must be on the right hand side of the MIME-type extension (<em>e.g.</em>, <code>foo.html.en</code>).</p> -<h2><a name="caching">Note on Caching</a></h2> +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div><div class="section"><h2><a name="caching" id="caching">Note on Caching</a></h2> <p>When a cache stores a representation, it associates it with the request URL. The next time that URL is requested, the cache @@ -584,15 +586,15 @@ decimal places before choosing the best variant.</p> responses.</p> <p>For requests which come from a HTTP/1.0 compliant client - (either a browser or a cache), the directive <a href="./mod/mod_negotiation.html#cachenegotiateddocs" class="directive"><code class="directive">CacheNegotiatedDocs</code></a> can be + (either a browser or a cache), the directive <code class="directive"><a href="./mod/mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></code> can be used to allow caching of responses which were subject to negotiation. This directive can be given in the server config or virtual host, and takes no arguments. It has no effect on requests from HTTP/1.1 clients.</p> -<h2><a name="more">More Information</a></h2> +</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div><div class="section"><h2><a name="more" id="more">More Information</a></h2> <p>For more information about content negotiation, see Alan J. Flavell's <a href="http://ppewww.ph.gla.ac.uk/~flavell/www/lang-neg.html">Language Negotiation Notes</a>. But note that this document may not be updated to include changes in Apache 2.0.</p> -<hr></blockquote><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img src="./images/index.gif" alt="Index"></a><a href="./"><img src="./images/home.gif" alt="Home"></a></body></html>
\ No newline at end of file +</div></div><div id="footer"><p class="apache">Maintained by the <a href="http://httpd.apache.org/docs-project/">Apache HTTP Server Documentation Project</a></p><p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div></body></html>
\ No newline at end of file |