WASD Hypertext Services - Environment Overview
2 - HyperText Transport Protocol Daemon
2.1 - Auto-Scripting
[next] [previous] [contents] [full-page]
The most fundamental component of the WASD VMS hypertext environment is
the HTTPd, or HyperText Protocol Transport Daemon, a program serving the
hypertext environment to the browser clients.
The WASD version provides a complete implementation of a basic HTTP
server, including:
- concurrent, multi-threaded client support
- "DELETE", "GET", "HEAD", "POST" and
"PUT" HTTP method support
- "If-Modified-Since:" / "304 Not Modified" functionality
(document is only sent if modified since time specified by client)
- HTTP/1.0 de-facto persistent connections (i.e. "Keep-Alive:",
reducing the number of TCP/IP connects required)
- versatile directory listing (generic and VMS-style)
- CGI-compliant scripting
(with configurable, automatic, MIME content-type initiated activation)
- CGIplus scripting
(offering reduced latency, increased throughput and reduced system impact when
scripting)
- script processor (e.g. PERL) configurable on file type (extension)
- Server Side Includes (HTML pre-processing)
- configurable cache, with automatic, time-based and forced re-validation
(reload)
- clickable-image support (both NCSA and CERN formats)
- smart rule mapping (conditional rules)
- "Basic" and "Digest" user authentication and
path/group-based authorization
- Optional SYSUAF-authentication and VMS user security profile based file
access control (only for the most secure of LAN environments!)
- Web-standard, "common" and "combined" access log formats
(allowing processing by most log-analysis tools), along with a user-definition
capability, allowing custom log formats
- logging periods, where log files automatically change on a daily,
weekly or monthly basis (keeps log files ordered and at a managable size)
- host-level access control, on per-host or per-domain acceptance or
rejection
- single server can support multi-homed (host name) and multiple port
services
- on-line server configuration, including reports on requests,
loaded configuration, mapping rules, authorization information and graphical
activity displays
- cookie support ("Cookie:" HTTP header field)
- customizable message database
(capable of supporting non-English and concurrent, multiple languages)
- configurable, automatic conversion of documents from VARIABLE to
STREAM-LF record format
(much more efficient with this server)
Scripts
The WASD scripting mechanism is based on the WWW CGI Common Gateway
Interface (CGI, modelled on the CERN and NCSA VMS implementations).
Scripts are programs external to the main server that behave
as gateways to non-hypertext data formats, usually interpreting
those formats into HTML before transport to and use by the browser. The WASD
environment provides a number of scripts for accessing VMS-specific,
DEC-specific and some other WASD-specific information.
2.1 - Auto-Scripting
A script can be automatically activated by the server through it detecting
the content-type of the specified document (based on the file
extension (e.g. ".TXT")).
This auto-scripting can occur whenever the document
specification includes no file version number. If a file version number is
present the file is always returned directly to the browser. The browser must
then process the document in some fashion (often by activating a
save as dialog). A simple way of suppressing the auto-scripting
facility is to include a latest-version number (i.e.
";0"), as in this specification
"/sys$common/syshlp/helplib.hlb;0".
[next] [previous] [contents] [full-page]