Apache2-ClickPath
view release on metacpan or search on metacpan
SESSION
the session identifier itself. In the example above
"s9NNNd:doBAYNNNiaNQOtNNNNNM" is assigned. If the "UserAgent"
prevents session generation the name of the matching regular
expression is assigned, (see "ClickPathUAExceptions").
CGI_SESSION
the session prefix + the session identifier. In the example above
"/-S:s9NNNd:doBAYNNNiaNQOtNNNNNM" is assigned. If the "UserAgent"
prevents session generation "CGI_SESSION" is empty.
SESSION_START
the request time of the request starting a session in seconds since
1/1/1970.
CGI_SESSION_AGE
the session age in seconds, i.e. CURRENT_TIME - SESSION_START.
REMOTE_SESSION
in case a friendly session was caught this variable contains it, see
below.
REMOTE_SESSION_HOST
in case a friendly session was caught this variable contains the
host it belongs to, see below.
EXPIRED_SESSION
if a session has expired and a new one has been created the old
session is stored here.
INVALID_SESSION
when a "ClickPathMachineTable" is used a check is accomplished to
ensure the session was created by on of the machines of the cluster.
If it was not a message is written to the "ErrorLog", a new one is
created and the invalid session is written to this environment
variable.
ClickPathMachineName
when a "ClickPathMachineTable" is used this variable contains the
name of the machine where the session has been created.
ClickPathMachineStore
when a "ClickPathMachineTable" is used this variable contains the
address of the session store in terms of
"Apache2::ClickPath::Store".
The Output Filter
The output filter is entirely skipped if the translation handler had not
set the "CGI_SESSION" environment variable.
It prepends the session prefix and identifier to any "Location" an
"Refresh" output headers.
If the output "Content-Type" is "text/html" the body part is modified.
In this case the filter patches the following HTML tags:
<a ... href="LINK" ...>
<area ... href="LINK" ...>
<form ... action="LINK" ...>
<frame ... src="LINK" ...>
<iframe ... src="LINK" ...>
<meta ... http-equiv="refresh" ... content="N; URL=LINK" ...>
In all cases if "LINK" starts with a slash the current value of
"CGI_SESSION" is prepended. If "LINK" starts with "http://HOST/" (or
https:) where "HOST" matches the incoming "Host" header
"CGI_SESSION" is inserted right after "HOST". If "LINK" is relative
and the incoming request URI had contained a session then "LINK" is
left unmodified. Otherwize it is converted to a link starting with a
slash and "CGI_SESSION" is prepended.
Configuration Directives
All directives are valid only in *server config* or *virtual host*
contexts.
ClickPathSessionPrefix
specifies the session prefix without the leading slash.
ClickPathMaxSessionAge
if a session gets older than this value (in seconds) a new one is
created instead of continuing the old. Values of about a few hours
should be good, eg. 18000 = 5 h.
ClickPathMachine
set this machine's name. The name is used with load balancers. Each
machine of a farm is assigned a unique name. That makes session
identifiers unique across the farm.
If this directive is omitted a compressed form (6 Bytes) of the
server's IP address is used. Thus the session is unique across the
Internet.
In environments with only one server this directive can be given
without an argument. Then an empty name is used and the session is
unique on the server.
If possible use short or empty names. It saves bandwidth.
A name consists of letters, digits and underscores (_).
The generated session identifier contains the name in a slightly
scrambled form to slightly hide your infrastructure.
ClickPathMachineTable
this is a container directive like "<Location>" or "<Directory>". It
defines a 3-column table specifying the layout of your WEB-server
cluster. Each line consists of max. 3 fields. The 1st one is the IP
address or name the server is listening on. Second comes an optional
machine name in in terms of the "ClickPathMachine" directive. If it
is omitted each machine is assigned it's line number within the
table as name. This means that each machine in a cluster must run
with exactly the same table regarding the line order. The optional
3rd field specifies the address where the session store is
accessible (see Apache2::ClickPath::Store for more information.
ClickPathUAExceptions
this is a container directive like "<Location>" or "<Directory>".
The container content lines consist of a name and a regular
expression. For example
1 <ClickPathUAExceptions>
2 Google Googlebot
( run in 1.427 second using v1.01-cache-2.11-cpan-e1769b4cff6 )