xforms
authorEric Covener <covener@apache.org>
Wed, 29 Dec 2010 03:39:31 +0000 (03:39 +0000)
committerEric Covener <covener@apache.org>
Wed, 29 Dec 2010 03:39:31 +0000 (03:39 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1053528 13f79535-47bb-0310-9956-ffa450edef68

docs/manual/mod/mod_headers.html.en

index ca8ae94e2d7cde4b05d0e1b88cd7ead3905fa104..c4deb0c97e45b1a4abfa1b2a46cf003b8bbc3572 100644 (file)
@@ -212,23 +212,39 @@ headers</td></tr>
 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr>
 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_headers</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Default condition changes in 2.3.9 from "onsuccess" to "always"</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Default condition was temporarily changed to "always" in 2.3.9 and 2.3.10</td></tr>
 </table>
     <p>This directive can replace, merge or remove HTTP response
     headers. The header is modified just after the content handler
     and output filters are run, allowing outgoing headers to be
     modified.</p>
 
-    <p> In 2.3.9 and later, the default condition is "always", meaning this directive 
-    acts without regard for the response status code.  In 2.3.8 and earlier,
-    "onsuccess" is the default, meaning headers are only modified for <code>2<var>xx</var>
-    </code> responses.</p>
-
-    <p>An effective value of <code>always</code> may be needed to influence 
-    headers set by some internal modules (such as <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>) 
-    even for successful responses, and is always needed to affect 
-    non-<code>2<var>xx</var></code> responses such as redirects or client 
-    errors.</p>
+    <p> The optional <var>condition</var> argument determines which internal
+    table of responses headers this directive will operate against.  Other
+    components of the server may have stored their response headers in either
+    the table that corresponds to <code>onsuccess</code> or the table that
+    corresponds to <code>always</code>.  "Always" in this context refers to
+    whether headers you add will be sent during both a successful and unsucessful 
+    response, but if your action is a function of an existing header, you
+    will have to read on for further complications.</p>
+
+    <p> The default value of <code>onsuccess</code> may need to be changed to 
+    <code>always</code> under the circumstances similar to those listed below
+    Note also that repeating this directive with both conditions makes sense in
+    some scenarios because <code>always</code> is not a superset of 
+    <code>onsuccess</code> with respect to existing headers:</p>
+
+    <ul>
+       <li> You're adding a header to a non-success (non-2xx) response, such 
+            as a redirect, in which case only the table corresponding to 
+            <code>always</code> is used in the ultimate response.</li>
+       <li> You're modifying or removing a header generated by a CGI script,
+            in which case the CGI scripts are in the table corresponding to 
+            <code>always</code> and not in the default table.</li>
+       <li> You're modifying or removing a header generated by some piece of 
+            the server but that header is not being found by the default 
+            <code>onsuccess</code> condition.</li>
+    </ul>
 
     <p>The action it performs is determined by the first
     argument (second argument if a <var>condition</var> is specified).