[
Back
|
Home
|
Page Bottom
|
Mail
]
Features
Cross Platform Design
Pi3Web is to be easily portable to multiple platforms and processor
architectures. It is built using the PiAPI platform abstraction
library. This library provides a standard interface to files, shared
libraries, threads and synchronization objects.
[Top]
Multithreaded On All Platforms
The Pi3Web is based on a thread execution model for higher concurrency
with less system resource utilization. As not all platforms support native
multithreading functionality the PiAPI library implements User
Context threads by adding additional program stacks and thread scheduling
to processes.
Pi3Web uses a configurable number of processes and threads (thread pooling).
Pi3Web can reuse threads, i.e. a thread is not destroyed after serving a
request.
[Top]
Programmable Request Handling
Pi3Web configuration files outline a schema which dictates how loadable
classes and objects are linked and nested together. The configuration
files not only specify which loadable classes (CGI, FastCGI, SSI etc.) are
executed to handle a request allow individual handlers or groups of
handlers to be conditional on various aspects of the request, network
connection or resource requested.
By this mechanism Pi3Web configuration files give some of the flexibility
of a simple programming language.
[Top]
Server Loadable Plugins
The Pi2API library provides dynamic loading functionality so server components
can be loaded on demand and the server extended without compilation or linking.
All severe functionality is provided by loadable classes included in the
distribution.
[Top]
Protocol API (IO Extensions or Filters)
Pi3Web uses server loadable classes for IO communication to browsers,
CGI programs and fast CGI programs. This allows these mechanisms to
be extented to use different transport mechanisms or for IO to be process
by filters (such as encryption algorithms).
[Top]
Comprehensive Server Programming API
Pi3Web uses three API programming libraries,
PiAPI, Pi2API and Pi3API.
These libraries provide 189 functions for threads, files, processes, utilities,
shared libraries and HTTP fuctionality.
[Top]
CGI and Windows CGI
Pi3Web is bundled with a CGI (Common Gateway Interface) loadable handler
for dispatching browser requests to CGI or windows CGI programs.
[Top]
Fast CGI
The Fast CGI loadable handler can be used to dispatch fast CGI
RESPONDER requests to CGI or windows CGI programs to an
existing fast CGI application server.
[Top]
ISAPI 2.0 Extensions
Pi3Web provides an ISAPI Extension 2.0 (MS IIS) compliant handler.
[Top]
Server-Side Includes
Server-Side Includes (SSI) are supported via the SendSSI server loadable class.
[Top]
PHP4 Support
There's an embedded PHP4
module in Pi3Web 2.0 for fast PHP4 server side scripting support.
PHP can be used as CGI nevertheless. The embedded PHP4 interpreter can be
upgraded with the binary packages provided by the php developers.
[Top]
Strong SSL Encryption
Pi3Web 2.0 supports strong SSLv2, SSLv3 or TLSv1 channel encryption based
on openssl.
[Top]
SSL key and certificate generation
For quick start with SSL the Administration client provides
the generation of SSL keys and self signed certificates. Note, that this feature
is not for a production SSL server.
[Top]
Basic Realms and Authentication
Pi3Web supports administration realms, in order to control access rights for groups
of users. Users can be authenticated by HTTP Basic authentication,
NTLM Authentication or Digest Access Authentication.
[Top]
NTLM Authentication
On the NT4 or W2K platform you can use the strong challenge response
based NTLM authentication schema, if this feature is also supported by the
browser (e.g. MSIE).
[Top]
Digest Access Authentication
On all platforms you can use this strong, MD5 based challenge response method
accordingly to RFC 2069 to authenticate without sending passwords through the
network and without storing them at the server, if this feature is also supported
by the browser (e.g. Opera).
[Top]
Complies with HTTP/1.0 and 1.1 Specification
Pi3Web complies with the HTTP/1.0 specification and adds most features of
the HTTP/1.1 specification.
[Top]
HTTP Proxying
The BasicProxy loadable server class provides HTTP caching proxy capabilities.
[Top]
Connection Reuse via KeepAlive Option
Pi3Web has the configuration option to allow browser-server connection to
be reused across multiple request to avoid the overhead of TCP/IP
connection establishment and tear-down.
[Top]
HTTP/1.1 Request Methods
There's built in support for the HTTP/1.1 request methods PUT, DELETE, OPTIONS
and TRACE.
[Top]
Other HTTP/1.1 Features
The server supports simple HTTP/1.1 ranges and chunked encoding.
[Top]
Virtual Hosting
The
VirtualHostByAddress,
VirtualHostByName and
VirtualHostByURL
loadable server classes allow the Pi3Web server to change virtual hosts
based on a number of criteria.
[Top]
Customizable Logging
The
ExpressionLogger
loadable server class allows customizable logfile to be written. Any
number of different logfiles can be written within process resource limits.
[Top]
Server-Side Image Maps
There's full support for server side image maps now including polygons and
ellipse shapes with Pi3Web 2.0.
[Top]
ISAPI Filters
Pi3Web 2.0 introduces an ISAPI Filter handler to support IIS filters.
[Top]
Sortable Directory Indexes
Besides the comfortable directory indexing of Pi3Web 1.03 there's now
a HTML based sort-by-column directory index.
[Top]
File upload acc. to RFC 1867
Pi3Web 2.0 supports the browser based file upload in accordance with
Netscape's RFC 1867 in a comfortable way.
[Top]
Administration client
The adminstration client (some screenshots) is available for the
Win32 platform.
It provides comfortable control of the server status as well as management of general
settings, performance, mappings, mime types, users and realms, served interfaces,
IP- and non-IP virtual hosts, logging, directory indexing, HTTP and SSL configuration.
A remote administration client is under development in order to provide the same
functionality for Unix based servers.
[Top]
Servlet and JSP Support
With Pi3Servlets there's a Servlet API 2.1 compliant
Servlet engine and a JSP 1.0 compliant JSP engine available.
[Top]
Embedded Perl and PSP
With Pi3Perl there's an embedded perl interpreter and
a PSP (Perl Server Pages) scripting engine available. Note, that perl based
CGI programs are not meant here.
[Top]
Realtime XSLT
XSLT realtime processing for XML, HTML or docbook sgml files is provided by the
Pi3XSLT extension based on libxslt
and libxml.
[Top]
[
Page Top
|
Home
|
Mail
]
All trademarks and copyrights are property of their respective owners.
Copyright © 1998-2004 Holger Zimmermann,
John Roy.
|