CERN httpd 2.17beta Release NotesPUT 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 Masks set in the protection setup [without
this feature ACLs cannot allow anything more than what the
Masks 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/plain
because 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 GMT
This 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".