> > ### Table of Contents

> > > Introduction
> > > Launching
> > > Logging
> > > HTTP Protocol Support and Server-Side Includes
> > > Rock Solid Security
> > > Extensions
> > > Scripting
> > > Other Features
> > > Protocols
> > > Platforms
> > > NCSA Compatibility

> > ### Introduction

> > PowerWeb Server++ has been written in C++, implemented with the latest design patterns philosophy.

> > It is operating system and GUI independent and abstracts the notion of multiple protocols to allow multiple services to share a single server and a single code base.

> > Dynamic thread management using our SCREAM performance object technology brings you unparallelled performance, and takes full advantage of multiple CPU servers.

> > ### Launching

> > > 32-bit Multi-threaded:
> > > 32-bit Multi-threaded architecture which requires no forks.

> > > Dynamic Threads:
> > > Limitations of inetd are surpassed through dynamic thread launching. PowerWeb's thread manager avoids forks, multiple processes and unnecessary system overhead by allocating threads on a demand basis, keeping a cached dynamic pool of threads to service requests.

> > > Multi-Homed Server:
> > > Different directory roots for different IP addresses provides for a multi-homed server.

> > ### Logging

> > > Multi-Threaded Logging:
> > > Multi-threaded logging for individual services overcomes traditional Unix syslog and NT event log limitations.

> > > Common Log Format:
> > > The CERN/NCSA common log format is supported.

> > > Rotating Logs:
> > > Log files can be cycled or archived on request.

> > > Customised Logs:
> > > Normal (hit) log entries can be customized through API scripts.

> > > Multiple Logs:
> > > Multiple logs can be used for different types of hits or for output in different record formats.

> > > Non-Hit Log Entries:
> > > API scripts can generate non-hit log entries such as comments.

> > > API Logs:
> > > API scripts can create their own log entries.

> > > Performance Logs:
> > > Dynamic Performance measurement logs can be queried at any time through your browser.

> > ### HTTP Protocol Support and Server-Side Includes

> > > Browser Cache Optimisation:
> > > Automatic response to If-Modified-Since allows browser cache optimisation

> > > Browser Feature Optimisation:
> > > PowerWeb Macros serves different documents or changes actions based on User-Agent header, for browser optimisation.

> > > Dynamic Serving:
> > > PowerWeb Macros serves different documents or changes actions based on Accept header, or URL for dynamic document serving.

> > > Server-Side Includes:
> > > PowerWeb Macros provides a Superset of server-side includes.

> > > HTML Future Protection:
> > > PowerWeb Macros based on HTML comments prevents conflicts with future HTML extensions.

> > > Force Processing:
> > > The Powerweb Server++ can force the processing of server-side includes.

> > > HTTP Headers:
> > > Automatically include any HTTP headers for HTML or non-HTML documents (without using CGI).

> > > Access Server Variables:
> > > Access to server state variables from CGI, API scripts, and Web Macros.

> > > Server Push:
> > > Send dynamic documents or images with server push.

> > > Proxy Server:
> > > PowerWeb Server++ can act as an HTTP proxy server on your firewall, or as a normal HTTP server, or both.

> > ### Rock Solid Security

> > > Templates

> > > > Unified Security:
> > > > PowerWeb Server++ unifies the management of secure access to multiple-protocols through a centralised user interface, to simplify administration and ensure consistency.

> > > > Templates:
> > > > Administrators use templates to allow reuse of security rules across many resources.

> > > > Level Security:
> > > > Selectively Enable/Disable all levels of security.

> > > Resources

> > > > Resource Security:
> > > > Security rules are applied to a resource, which can be defined as disks,directories or individual files that match wildcard patterns.

> > > > Resource Definition:
> > > > Resources are protected uniformly regardless of the protocols used to access them

> > > > Pervasive Security:
> > > > Can allow/deny based on physical paths inside or outside the document hierarchy.

> > > Authentication

> > > > Dynamic Management:
> > > > User databases and authentication realms can be dynamically managed without restarting services.

> > > > Validated Authentication:
> > > > Security is enforced by requiring a matched user name and password.

> > > > Multiple Security Realms:
> > > > Protect sites through multiple user databases and authentication realms.

> > > Access Control

> > > > Rule Ordering:
> > > > Security rules can be any combination, in any order, of allow and deny.

> > > > Rule Combinations:
> > > > Deny or allow access by any combination of username, domain name and/or IP address.

> > > > Restrict Hosts/Domains:
> > > > Deny or allow access by host and/or domain name.

> > > > Restrict IP Addresses:
> > > > Deny or allow access by IP address.

> > > > Hierarchies:
> > > > Security Rules are applied to both document and data hierarchies based on any of the above conditions.

> > > > Customisation:
> > > > Customise file-level security through scripts.

> > > > Inherited Security:
> > > > Hierarchical permissions model with inheritance; can specify separate permissions for each method/URL combination, and URLs inherit default permissions hierarchically.

> > > > Restrict Access Method:
> > > > Allow/deny access according to protocol, access method, and sub-method.

> > > > Filtering:
> > > > All requests can be filtered by a script to which any kind of security can be added.

> > > > Location:
> > > > Security rules and databases can be kept inside or outside of the protected directory.

> > ### Extensions

> > > Multi-Page Forms:
> > > Consolidates data entry across multiple forms in multiple documents.

> > > Automatic Forms:
> > > Processes form submittal automatically, storing the results in a database, or forwarding them to another server for processing.

> > > Forms Data Entry Processing:
> > > PowerWeb Server++ automatically creates server variables, integrated into Web Macros and APIs, for easy processing of forms without writing scripts. PowerWeb Server++ decodes all the data entry fields for you. There is no need to decompose the POSTed arguments, or to decode the escape sequences.

> > > Wizards:
> > > Create documents based on templates and styles with wizards.

> > > Built-in Imagemaps:
> > > Processes image maps internally, avoiding the overhead of CGI-based image map programs, without requiring any changes to existing HTML documents.

> > > Imagemap Configuration:
> > > Supports directly specifying Imagemap configuration files within the URL, avoiding the need to maintain a global configuration file for all imagemaps.

> > > Long Document Names:
> > > Store documents with long filenames, or with FAT 8.3 filenames. Users specifying a long filename automatically access the equivalent FAT 8.3 file if PowerWeb Server++ is running on a FAT partition.

> > > Slashes in Document Names:
> > > Path names can use either Unix style / or DOS style \ to separate directory names.

> > ### Scripting

> > > Unique Flexibility:
> > > With PowerWeb, you can write extensions in CGI, API libraries, or in Web Macros.

> > > Language Independence:
> > > CGI and API scripts can be written in any language, such as Perl, C, C++, Rexx, Visual Basic.

> > > API Scripts:
> > > API Scripts extend PowerWeb Server++ as though part of the original product. The high performance and tight integration encourages the development of advanced server systems such as Web servers coupled with a database.

> > ### Other Features

> > > Browser Interfaced:
> > > GUI-based setup, configuration, administration and maintenance.

> > > Easy Installation:
> > > Quick-start easy installation without editing complex configuration files.

> > > Local or Remote:
> > > Any server configuration, administration and maintenance can be run locally or remotely, while the server is running.

> > > Performance Measurement:
> > > Real-time performance and throughput measurement tools.

> > > File-type Customisation:
> > > Apply script or actions based on output file type, either through server configuration or through Web Macros.

> > > MIME-type Customisation:
> > > Apply script or actions based on MIME content-type through Web Macros.

> > > Automatic URL Correction:
> > > Automatically corrects directory and welcome URLs without a trailing slash.

> > ### Protocols

> > > Protocols supported:

> > > > HTTP
> > > > HTTP Proxy
> > > > POP3
> > > > FTP

> > > Protocols to be supported:

> > > > SMTP
> > > > Gopher
> > > > Search Engines

> > ### Platforms

> > > Platforms supported:

> > > > OS/2 Warp

> > > Platforms to be supported:

> > > > NT 3.51x
> > > > AIX 4.1x
> > > > Solaris
> > > > OS/400 3.1x
> > > > MVS Open Edition 5.1x

> > ### NCSA Compatibility

> > PowerWeb Server++ supports the features of the UNIX NCSA httpd server, including:

> > > HTTP Standard:
> > > Compatible with Web browsers using HTTP/1.0.

> > > CGI Compatibility:
> > > Supports forms through CGI/1.1 and CGI/1.0 with both METHOD=GET and METHOD=POST.

> > > Directory Indexing:
> > > Provides automatic on the fly directory index generation in a variety of styles.

> > > Imagemaps:
> > > Imagemaps are fully supported (also sometimes called clickable images).

> > > Access Control:
> > > Documents are subject to access control.

> > > Audit Trail:
> > > An audit trail is kept of all accesses.

> > > Aliases:
> > > Aliases allow users to see a unified directory structure, even if documents are distributed across multiple network drives.

> > > Redirections:
> > > Redirections allow administrators to move documents to another server without affecting existing references in other documents.

> > > Server-Side Includes:
> > > PowerWeb Server++ implements a superset of the NCSA server-side includes.

> > > Common Log Format:
> > > The common log format is supported.