You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by br...@hyperreal.org on 1998/06/06 17:39:28 UTC
cvs commit: apache-1.3/htdocs/manual/misc FAQ.html
brian 98/06/06 08:39:27
Modified: htdocs/manual/misc FAQ.html
Log:
PR: 2365
Updated certain questions for 1.3 - simplicity is always a good idea.
Revision Changes Path
1.119 +16 -63 apache-1.3/htdocs/manual/misc/FAQ.html
Index: FAQ.html
===================================================================
RCS file: /export/home/cvs/apache-1.3/htdocs/manual/misc/FAQ.html,v
retrieving revision 1.118
retrieving revision 1.119
diff -u -r1.118 -r1.119
--- FAQ.html 1998/05/30 01:27:25 1.118
+++ FAQ.html 1998/06/06 15:39:26 1.119
@@ -14,7 +14,7 @@
<!--#include virtual="header.html" -->
<H1 ALIGN="CENTER">Apache Server Frequently Asked Questions</H1>
<P>
- $Revision: 1.118 $ ($Date: 1998/05/30 01:27:25 $)
+ $Revision: 1.119 $ ($Date: 1998/06/06 15:39:26 $)
</P>
<P>
The latest version of this FAQ is always available from the main
@@ -1091,19 +1091,15 @@
<P>
Apache does <EM>not</EM> send automatically send a cookie on every
response, unless you have re-compiled it with the
- <A HREF="../mod/mod_cookies.html"><SAMP>mod_cookies</SAMP></A>
- module.
- This module was distributed with Apache prior to 1.2.
- This module may help track users, and uses cookies to do this. If
- you are not using the data generated by <SAMP>mod_cookies</SAMP>, do
- not compile it into Apache. Note that in 1.2 this module was renamed
- to the more correct name
- <A HREF="../mod/mod_usertrack.html"><SAMP>mod_usertrack</SAMP></A>,
- and cookies
- have to be specifically enabled with the
+ <A HREF="../mod/mod_usertrack.html"><SAMP>mod_usertrack</SAMP></A>
+ module, and specifically enabled it with the
<A HREF="../mod/mod_usertrack.html#cookietracking"
><SAMP>CookieTracking</SAMP></A>
directive.
+ This module has been in Apache since version 1.2.
+ This module may help track users, and uses cookies to do this. If
+ you are not using the data generated by <SAMP>mod_usertrack</SAMP>, do
+ not compile it into Apache.
</P>
<HR>
</LI>
@@ -1244,60 +1240,17 @@
<STRONG>How can I get my script's output without Apache buffering
it? Why doesn't my server push work?</STRONG>
</A>
- <P>
- In order to improve network performance, Apache buffers script output
- into relatively large chunks. If you have a script that sends
- information in bursts (eg. as partial-done messages in a multi-commit
- database transaction or any type of server push), the client will
- not necessarily get the output as the script is generating it.
- </P>
- <P>
- To avoid this, Apache recognizes scripts whose names begin with
- "<SAMP>nph-</SAMP>" as <EM>non-parsed-header</EM> scripts.
- That is, Apache won't buffer their output, but connect it directly to
- the socket going back to the client.
- </P>
- <P>
- While this will probably do what you want, there <EM>are</EM> some
- disadvantages to it:
- </P>
- <UL>
- <LI><STRONG>YOU</STRONG> (the script) are responsible for generating
- <STRONG>ALL</STRONG> of the HTTP headers, and no longer
- <EM>just</EM> the "<SAMP>Content-type</SAMP>" or
- "<SAMP>Location</SAMP>" headers
- </LI>
- <LI>Unless your script generates its output carefully, you will see a
- performance penalty as excessive numbers of packets go back and forth
- </LI>
- </UL>
- <P>
- As an example how you might handle the former (in a Perl script):
- </P>
- <P>
- <DL>
- <DD><CODE>if ($0 =~ m:^(.*/)*nph-[^/]*$:) {
- <BR>
-
- $HTTP_headers =
- "HTTP/1.1 200 OK\015\012";
- <BR>
-
- $HTTP_headers .=
- "Connection: close\015\012";
- <BR>
-
- print $HTTP_headers;
- <BR>
- }</CODE>
- </DD>
- </DL>
- </P>
<P>
- and then follow with your normal non-<SAMP>nph</SAMP> headers.
+ As of Apache 1.3, CGI scripts are essentially not buffered. Every time
+ your script does a "flush" to output data, that data gets relayed on to
+ the client. Some scripting languages, for example Perl, have their own
+ buffering for output - this can be disabled by setting the <CODE>$!</CODE>
+ special variable to 1. Of course this does increase the overall number
+ of packets being transmitted, which can result in a sense of slowness by
+ the end user.
</P>
- <P>Note that in version 1.3, all CGI scripts will be unbuffered
- so the only difference between nph scripts and normal scripts is
+ <P>Prior to 1.3, you needed to use "nph-" scripts to accomplish non-buffering.
+ Today, the only difference between nph scripts and normal scripts is
that nph scripts require the full HTTP headers to be sent.
</P>
<HR>