mirror of
https://github.com/apache/httpd.git
synced 2025-06-04 21:42:15 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102617 13f79535-47bb-0310-9956-ffa450edef68
241 lines
8.5 KiB
XML
Executable File
241 lines
8.5 KiB
XML
Executable File
<?xml version="1.0"?>
|
|
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
|
<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
|
|
|
|
<!--
|
|
Copyright 2002-2004 The Apache Software Foundation
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
|
|
<modulesynopsis metafile="mod_usertrack.xml.meta">
|
|
<name>mod_usertrack</name>
|
|
<description>
|
|
<em>Clickstream</em> logging of user activity on a site
|
|
</description>
|
|
<status>Extension</status>
|
|
<sourcefile>mod_usertrack.c</sourcefile>
|
|
<identifier>usertrack_module</identifier>
|
|
|
|
<summary>
|
|
<p>Previous releases of Apache have included a module which
|
|
generates a 'clickstream' log of user activity on a site using
|
|
cookies. This was called the "cookies" module, mod_cookies. In
|
|
Apache 1.2 and later this module has been renamed the "user
|
|
tracking" module, mod_usertrack. This module has been
|
|
simplified and new directives added.</p>
|
|
</summary>
|
|
|
|
|
|
<section id="logging">
|
|
<title>Logging</title>
|
|
|
|
<p>Previously, the cookies module (now the user tracking
|
|
module) did its own logging, using the <directive>CookieLog</directive>
|
|
directive. In this release, this module does no logging at all.
|
|
Instead, a configurable log format file should be used to log
|
|
user click-streams. This is possible because the logging module
|
|
now allows multiple log files. The cookie itself is logged by
|
|
using the text <code>%{cookie}n</code> in the log file format. For
|
|
example:</p>
|
|
<example>
|
|
CustomLog logs/clickstream "%{cookie}n %r %t"
|
|
</example>
|
|
|
|
<p>For backward compatibility the configurable log module
|
|
implements the old <directive
|
|
module="mod_log_config">CookieLog</directive> directive, but this
|
|
should be upgraded to the above <directive
|
|
module="mod_log_config">CustomLog</directive> directive. </p>
|
|
</section>
|
|
|
|
<section id="cookiedate">
|
|
<title>2-digit or 4-digit dates for cookies?</title>
|
|
|
|
<p>(the following is from message
|
|
<022701bda43d$9d32bbb0$1201a8c0@christian.office.sane.com>
|
|
in the new-httpd archives) </p>
|
|
<pre>
|
|
From: "Christian Allen" <christian@sane.com>
|
|
Subject: Re: Apache Y2K bug in mod_usertrack.c
|
|
Date: Tue, 30 Jun 1998 11:41:56 -0400
|
|
|
|
Did some work with cookies and dug up some info that might be useful.
|
|
|
|
True, Netscape claims that the correct format NOW is four digit dates, and
|
|
four digit dates do in fact work... for Netscape 4.x (Communicator), that
|
|
is. However, 3.x and below do NOT accept them. It seems that Netscape
|
|
originally had a 2-digit standard, and then with all of the Y2K hype and
|
|
probably a few complaints, changed to a four digit date for Communicator.
|
|
Fortunately, 4.x also understands the 2-digit format, and so the best way to
|
|
ensure that your expiration date is legible to the client's browser is to
|
|
use 2-digit dates.
|
|
|
|
However, this does not limit expiration dates to the year 2000; if you use
|
|
an expiration year of "13", for example, it is interpreted as 2013, NOT
|
|
1913! In fact, you can use an expiration year of up to "37", and it will be
|
|
understood as "2037" by both MSIE and Netscape versions 3.x and up (not sure
|
|
about versions previous to those). Not sure why Netscape used that
|
|
particular year as its cut-off point, but my guess is that it was in respect
|
|
to UNIX's 2038 problem. Netscape/MSIE 4.x seem to be able to understand
|
|
2-digit years beyond that, at least until "50" for sure (I think they
|
|
understand up until about "70", but not for sure).
|
|
|
|
Summary: Mozilla 3.x and up understands two digit dates up until "37"
|
|
(2037). Mozilla 4.x understands up until at least "50" (2050) in 2-digit
|
|
form, but also understands 4-digit years, which can probably reach up until
|
|
9999. Your best bet for sending a long-life cookie is to send it for some
|
|
time late in the year "37".
|
|
</pre>
|
|
|
|
</section>
|
|
|
|
<directivesynopsis>
|
|
<name>CookieDomain</name>
|
|
<description>The domain to which the tracking cookie applies</description>
|
|
<syntax>CookieDomain <em>domain</em></syntax>
|
|
<contextlist>
|
|
<context>server config</context>
|
|
<context>virtual host</context>
|
|
<context>directory</context>
|
|
<context>.htaccess</context>
|
|
</contextlist>
|
|
<override>FileInfo</override>
|
|
|
|
<usage>
|
|
|
|
<p>This directive controls the setting of the domain to which
|
|
the tracking cookie applies. If not present, no domain is
|
|
included in the cookie header field.</p>
|
|
|
|
<p>The domain string <strong>must</strong> begin with a dot, and
|
|
<strong>must</strong> include at least one embedded dot. That is,
|
|
".foo.com" is legal, but "foo.bar.com" and ".com" are not.</p>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
|
|
<directivesynopsis>
|
|
<name>CookieExpires</name>
|
|
<description>Expiry time for the tracking cookie</description>
|
|
<syntax>CookieExpires <em>expiry-period</em></syntax>
|
|
<contextlist>
|
|
<context>server config</context>
|
|
<context>virtual host</context>
|
|
<context>directory</context>
|
|
<context>.htaccess</context>
|
|
</contextlist>
|
|
<override>FileInfo</override>
|
|
|
|
<usage>
|
|
<p>When used, this directive sets an expiry time on the cookie
|
|
generated by the usertrack module. The <em>expiry-period</em>
|
|
can be given either as a number of seconds, or in the format
|
|
such as "2 weeks 3 days 7 hours". Valid denominations are:
|
|
years, months, weeks, days, hours, minutes and seconds. If the expiry
|
|
time is in any format other than one number indicating the
|
|
number of seconds, it must be enclosed by double quotes.</p>
|
|
|
|
<p>If this directive is not used, cookies last only for the
|
|
current browser session.</p>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
<directivesynopsis>
|
|
<name>CookieName</name>
|
|
<description>Name of the tracking cookie</description>
|
|
<syntax>CookieName <em>token</em></syntax>
|
|
<default>CookieName Apache</default>
|
|
<contextlist>
|
|
<context>server config</context>
|
|
<context>virtual host</context>
|
|
<context>directory</context>
|
|
<context>.htaccess</context>
|
|
</contextlist>
|
|
<override>FileInfo</override>
|
|
|
|
<usage>
|
|
<p>This directive allows you to change the name of the cookie
|
|
this module uses for its tracking purposes. By default the
|
|
cookie is named "<code>Apache</code>".</p>
|
|
|
|
<p>You must specify a valid cookie name; results are
|
|
unpredictable if you use a name containing unusual characters.
|
|
Valid characters include A-Z, a-z, 0-9, "_", and "-".</p>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
<directivesynopsis>
|
|
<name>CookieStyle</name>
|
|
<description>Format of the cookie header field</description>
|
|
<syntax>CookieStyle
|
|
<em>Netscape|Cookie|Cookie2|RFC2109|RFC2965</em></syntax>
|
|
<default>CookieStyle Netscape</default>
|
|
<contextlist>
|
|
<context>server config</context>
|
|
<context>virtual host</context>
|
|
<context>directory</context>
|
|
<context>.htaccess</context>
|
|
</contextlist>
|
|
<override>FileInfo</override>
|
|
|
|
<usage>
|
|
<p>This directive controls the format of the cookie header
|
|
field. The three formats allowed are:</p>
|
|
|
|
<ul>
|
|
<li><strong>Netscape</strong>, which is the original but now deprecated
|
|
syntax. This is the default, and the syntax Apache has
|
|
historically used.</li>
|
|
|
|
<li><strong>Cookie</strong> or <strong>RFC2109</strong>, which is the syntax that
|
|
superseded the Netscape syntax.</li>
|
|
|
|
<li><strong>Cookie2</strong> or <strong>RFC2965</strong>, which is the most
|
|
current cookie syntax.</li>
|
|
</ul>
|
|
|
|
<p>Not all clients can understand all of these formats. but you
|
|
should use the newest one that is generally acceptable to your
|
|
users' browsers.</p>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
|
|
|
|
<directivesynopsis>
|
|
<name>CookieTracking</name>
|
|
<description>Enables tracking cookie</description>
|
|
<syntax>CookieTracking on|off</syntax>
|
|
<default>CookieTracking off</default>
|
|
<contextlist>
|
|
<context>server config</context>
|
|
<context>virtual host</context>
|
|
<context>directory</context>
|
|
<context>.htaccess</context>
|
|
</contextlist>
|
|
<override>FileInfo</override>
|
|
|
|
<usage>
|
|
<p>When the user track module is compiled in, and
|
|
"CookieTracking on" is set, Apache will start sending a
|
|
user-tracking cookie for all new requests. This directive can
|
|
be used to turn this behavior on or off on a per-server or
|
|
per-directory basis. By default, compiling mod_usertrack will
|
|
not activate cookies. </p>
|
|
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
</modulesynopsis>
|