home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 35 Internet
/
35-Internet.zip
/
srev13g.zip
/
sreproxy.doc
< prev
next >
Wrap
Text File
|
1998-05-15
|
4KB
|
90 lines
15 May 1998: The SREPROXY "proxy-like" front end for SRE-http.
1) Abstract:
SREPROXY is a "proxy-like" front end for SRE-http. More precisely, SREPROXY
is a mini filter that provides caching services for SRE-http -- it
is NOT an http compliant "proxy".
The major advantage of using SREPROXY is that it is smalll
(approximately 10k, as compared to 100k for SREFILTR.80), and doesn't try
to do a lot. Thus, when it is applicable (more on that below)
it can be significantly faster then the standard filter (SREFILTR.80).
Most importantly, SREPROXY achieves this performance boost without
sacrificing any functionality
2) Usage:
To use SREPROXY, just set it to be your "GoServe" filter. That is,
instead of using SREFILTR.80, use SREPROXY.80.
There are no other requirements--- but do note that if you switch from
SREFILTR.80 to SREPROXY.80, you'll have to restart GoServe. Note that
the parameters in SREFILTR.80 are still used, even though SREFILTR.80 is
not the primary filter.
Advanced users may wish to modify a few parameters in SREPROXY.RXX, and
one parameter in SREPROXY.80. However, these are quite minor parameters,
and can be safely ignored.
3) Description
SREPROXY works by comparing all requests against a special
cache (a caching daemon is used). If SREPROXY finds a match to
a requested resource (in this daemon mediated cache), then the
matching file (and matching http/1.1 compliant headers) are returned.
If no match is found, then the main filter (SREFILTR.80) is called
(as an external rexx procedure).
Basically, SREPROXY is a replacment for the GoServe cache. Although the
GoServe cache can be used, it is (currently) not http/1.1 compliant. Thus,
it's use is not generally recommended (for details on using the GoServe
cache with sre-http, see the discussion of the CACHE* permission in
SREHTTP.HTM).
When using SREPROXY it's a good idea to try and "render cachable"
as many resources as possible (actually, in the http/1.1 world this is
always a good strategy). SREPROXY eases this by providing services that
a normal "proxy server" could not provide. These include:
a) SREPROXY will "postfilter" all requests -- including requests that it
resolves. Thus, accurate counts (say, in the COMMON.LOG file) can
be maintained.
b) SREPROXY will resolve a set of "semi-dynamic" SSIs. These include
several time and date SSIs, as well as "current" URL SSIs (see
SREPROXY.SHT for a list of these semi-dynamic SSIs").
c) SREPROXY will check for username/passwords, use them to lookup privileges,
and compare against the privileges associated with a cached resource.
There are a few drawbacks associated with the use of SREPROXY
a) If you have few cachable resources, use of SREPROXY will diminish throughput
(since the net effect is to add useless work by SREPROXY prior to the invocation
of SREFILTR).
b) In some cases, SREPROXY will use be slow about updating it's cache after changes
to an underlying resource (i.e.; if you rapidly & repeatedly change a document).
4) Notes
* The SREPROXY "cache" should not be confused with the SSI or !DIR cache. The
SREPROXY cache does not lead to the creation of a new file. Rather, it
consists of a database that relates a request selector to a file, response
headers, and other information. This file may be a permanent file (say, a .GIF
image), or may be a transient "SSI-cached" file (that is, the result of
applying static SSI's to an HTML document). In no case does the database contain
actual content -- there must be some kind of file somewhere for it to return.
Thus, truely temporary output can not be cached by SREPROXY.
* The CACHING.DOC file contains a discussion of other forms of caches that may
handle requests sent to your server (such as proxy caches, the GoServe cache,
and the SSI cache).
the