PUT
and POST
can be configured to be
handled by external CGI scripts; PUT-Script
and POST-Script
directives
IdentityCheck
directive to turn on RFC931 remote
login name checking
REMOTE_IDENT
for CGI giving remote login name;
this was the only feature missing to be fully CGI/1.0 compiant
GET
request with
If-Modified-Since
header
kill -HUP
causes httpd
to re-read
its configuration file
PidFile
directive for specifying the file to write the process id
[makes it easy to send the HUP
signal
ServerRoot
directive to specify a "home directory" for httpd
icons
subdirectory under ServerRoot
tar
packet that contains a set of default icons; the easiest way
to configure the icons is to just set the
ServerRoot
to point to the binary distribution
directory [its name is cern_httpd
]
Welcome.html
,
welcome.html
and, for compatibility with NCSA
server, index.html
. Use of Welcome
directive will override all the defaults.
AlwaysWelcome
directive to configure if
/directory
and /directory/
are to be taken to mean the same thing, or should only
/directory/
be mapped to the overview page and
/directory
produce the directory listing.
Date:
header.
Port
directive to config file specifying the port
number to listen to.
ACLOverRide
directive to allow ACLs to override
the Mask
s set in the protection setup [without
this feature ACLs cannot allow anything more than what the
Mask
s allow, only restrict access further]. This
directive disables Mask
checking if an ACL file
is present.
Protection
directive defines a protection
setup and associates a name with it:
Protection prot-name { AuthType Basic ServerId Test-Server PasswdFile /where/ever/passwd GroupFile /where/ever/group UserId someuser GroupId somegroup GET-Mask list, of, users, and, groups POST-Mask list, of, users, and, groups PUT-Mask list, of, users, and, groups }The content between the curly braces is the same as used to go the the protection setup file. What's new is the possibility to specify the
UserId
and GroupId
for
the clild process when serving the request in protected mode.
This is not possible with external files for security reasons
[it is not possible inside the external file, but it
is not possible if the ids are set when calling that file; see
doc for more details].
Mask
directive for cases when
GET-Mask
, POST-Mask
and
PUT-Mask
are the same.
Protect
rule the prot-name is
specified instead of the file name; what's more is that
Protect
can now be used to protect also proxied
URLs:
Protect http:* prot-name Protect ftp:* prot-name Protect gopher:* prot-name
README-SOCKS
file in the source code distribution
for more information.
SIGPIPE
causes a normal child to exit; proxy
child will correctly stop writing to client socket but still
writes to cache file [previously just kept on writing to the
socket, too]
Content-Transfer-Encoding
, we
agreed upon using Content-Encoding
for
compression
1 year 2 months 3 weeks 2 days 5 days 20 hours 30 mins 2 secs 20:30 20:30:01 2 weeks 20:30
LogTime
,
LogFormat
, DirAccess
and
DirReadme
fixed; now paramters really are handled
in a case-insensitive manner.
AddType *.* text/plainbecause it would disable this smart feature.
GET
method [use of If-Modified-Since
header]
CacheNoConnect
directive [causes an error rather than document fetch when
the document is not in the cache]
-gc_only
command line option to do garbage
collection as a cron
job for sites that run
httpd
as a proxy from inetd
.
However, since httpd
now re-reads its
configuration files when it receives a HUP
signal,
it makes standalone operation now even more easy, and
inetd
should no longer be much more convenient.
Expires:
and Last-Modified:
field
never get cached [because they are usually generated by
scripts and should never be cached]; therefore I strongly
advice against the use of CacheDefaultExpiry
for
HTTP.
CacheDefaultExpiry ftp:* 2 weeks 4 days CacheDefaultExpiry gopher:* 6 days CacheUnused http:* 1 month CacheUnused ftp:* 2 weeks CacheUnused gopher:* 1 week 5 days 2 hours 1 min 30 secs
Last-Modified:
but without
Expires:
expire after 10% of the time that they
have been unmodified. CacheLastModifiedfactor
can be used to change this value, or turn this feature
Off
. Default value is 0.1 [=10%].
Thu, 10 Feb 1994 22:23:32 GMTThis date format is not conforming to the spec, so use of it is discouraged! This is only to make the proxy more robust.
NoCaching
directive to prevent certain URLs from
being cached at all.
GcDailyGc
to specify a daily garbage collection
time, by default 3:00. [Can be turned Off
, too.]
GcReqInterval
and
GcTimeInterval
[by default disabled].
CacheAccessLog
to specify a different log file
for cache accesses; also possible to make a separate log for
each remote host.
cgiutils
for producing HTTP1 replies from
CGI scripts, and for easily generating the Expires:
header given the time to live, e.g. "2 weeks 4 hours 30 mins".