]> granicus.if.org Git - apache/commitdiff
Adding a note about proxy performance being bad when using rewrite's [P].
authorVincent Deffontaines <gryzor@apache.org>
Wed, 18 Jul 2012 13:16:24 +0000 (13:16 +0000)
committerVincent Deffontaines <gryzor@apache.org>
Wed, 18 Jul 2012 13:16:24 +0000 (13:16 +0000)
Advise the use of ProxyPass* instead

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1362933 13f79535-47bb-0310-9956-ffa450edef68

docs/manual/rewrite/flags.html.en
docs/manual/rewrite/flags.xml

index c1dd424e97b9ecbd6bcaa081956d32a63e0e0c85..3fc815d6f141487872cd8d8d0a4423d10b6e408f 100644 (file)
@@ -274,7 +274,7 @@ CustomLog logs/access_log combined env=!image
 an example, not as a recommendation.</p>
 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 <div class="section">
-<h2><a name="flag_end" id="flag_end">END</a></h2> 
+<h2><a name="flag_end" id="flag_end">END</a></h2>
 <p>Using the [END] flag terminates not only the current round of rewrite
 processing (like [L]) but also prevents any subsequent rewrite
 processing from occurring in per-directory (htaccess) context.</p>
@@ -505,6 +505,15 @@ and hostname part of the URL is either fixed, or does not allow the
 client undue influence.</p>
 </div>
 
+<div class="warning">
+<h3>Performance warning</h3>
+<p>Using this flag triggers the use of <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, without handling of persistent connections. This
+means the performance of your proxy will be better if you set it up with <code class="directive">ProxyPass</code> or
+<code class="directive">ProxyPassMatch</code></p>
+<p>This is because this flag triggers the use of the default worker, which does not handle connection pooling.</p>
+<p>Avoid using this flag and prefer those directives, whenever you can.</p>
+</div>
+
 <p>Note: <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> must be enabled in order
 to use this flag.</p>
 
@@ -609,7 +618,7 @@ will be used to generate the URL sent with the redirect.
 <em>Any</em> valid HTTP response  status code may be specified,
 using the syntax [R=305], with a 302 status code being used by
 default if none is specified. The status code specified need not
-necessarily be a redirect (3xx) status code. However, 
+necessarily be a redirect (3xx) status code. However,
 if a status code is outside the redirect range (300-399) then the
 substitution string is dropped entirely, and rewriting is stopped as if
 the <code>L</code> were used.</p>
@@ -629,11 +638,11 @@ URI in request' warnings.
 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 <div class="section">
 <h2><a name="flag_s" id="flag_s">S|skip</a></h2>
-<p>The [S] flag is used to skip rules that you don't want to run. The 
-syntax of the skip flag is [S=<em>N</em>], where <em>N</em> signifies 
-the number of rules to skip. This can be thought of as a <code>goto</code> 
-statement in your rewrite ruleset. In the following example, we only want 
-to run the <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> if the 
+<p>The [S] flag is used to skip rules that you don't want to run. The
+syntax of the skip flag is [S=<em>N</em>], where <em>N</em> signifies
+the number of rules to skip. This can be thought of as a <code>goto</code>
+statement in your rewrite ruleset. In the following example, we only want
+to run the <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> if the
 requested URI doesn't correspond with an actual file.</p>
 
 <pre class="prettyprint lang-config">
index 3b565fd1fae0b872be9c16f919758535c5aa5281..2bea7b9bc16be686767b977c552c0ea54e5a1c3a 100644 (file)
@@ -261,7 +261,7 @@ module="mod_setenvif">SetEnvIf</directive>. This technique is offered as
 an example, not as a recommendation.</p>
 </section>
 
-<section id="flag_end"><title>END</title> 
+<section id="flag_end"><title>END</title>
 <p>Using the [END] flag terminates not only the current round of rewrite
 processing (like [L]) but also prevents any subsequent rewrite
 processing from occurring in per-directory (htaccess) context.</p>
@@ -489,6 +489,15 @@ and hostname part of the URL is either fixed, or does not allow the
 client undue influence.</p>
 </note>
 
+<note type="warning">
+<title>Performance warning</title>
+<p>Using this flag triggers the use of <module>mod_proxy</module>, without handling of persistent connections. This
+means the performance of your proxy will be better if you set it up with <directive>ProxyPass</directive> or
+<directive>ProxyPassMatch</directive></p>
+<p>This is because this flag triggers the use of the default worker, which does not handle connection pooling.</p>
+<p>Avoid using this flag and prefer those directives, whenever you can.</p>
+</note>
+
 <p>Note: <module>mod_proxy</module> must be enabled in order
 to use this flag.</p>
 
@@ -597,7 +606,7 @@ will be used to generate the URL sent with the redirect.
 <em>Any</em> valid HTTP response  status code may be specified,
 using the syntax [R=305], with a 302 status code being used by
 default if none is specified. The status code specified need not
-necessarily be a redirect (3xx) status code. However, 
+necessarily be a redirect (3xx) status code. However,
 if a status code is outside the redirect range (300-399) then the
 substitution string is dropped entirely, and rewriting is stopped as if
 the <code>L</code> were used.</p>
@@ -617,11 +626,11 @@ URI in request' warnings.
 </section>
 
 <section id="flag_s"><title>S|skip</title>
-<p>The [S] flag is used to skip rules that you don't want to run. The 
-syntax of the skip flag is [S=<em>N</em>], where <em>N</em> signifies 
-the number of rules to skip. This can be thought of as a <code>goto</code> 
-statement in your rewrite ruleset. In the following example, we only want 
-to run the <directive module="mod_rewrite">RewriteRule</directive> if the 
+<p>The [S] flag is used to skip rules that you don't want to run. The
+syntax of the skip flag is [S=<em>N</em>], where <em>N</em> signifies
+the number of rules to skip. This can be thought of as a <code>goto</code>
+statement in your rewrite ruleset. In the following example, we only want
+to run the <directive module="mod_rewrite">RewriteRule</directive> if the
 requested URI doesn't correspond with an actual file.</p>
 
 <highlight language="config">