FastCGI InterfaceF=FastCGI Interface for WASD+
 FCGIPLUS v1.0.0, July 2003(
/

A' @0 
FCGIplus  Copyright © 2003 Mark G.Daniel4
This program, comes with ABSOLUTELY NO WARRANTY.A
This is free software, and you are welcome to redistribute itF
under the conditions of the GNU GENERAL PUBLIC LICENSE, version 2.
FastCGI  Copyright © 1995-1996 Open Market, Inc.1
Licence Terms



DThe FCGIplus interface allows WASD based servers to accessFapplications built using Open Market's FastCGI v1.0 specification.

"HFastCGI is a fast, open, and secure Web server interface that solves theGperformance problems inherent in CGI without introducing any of the newMproblems associated with writing applications to lower-level Web server APIs.MModules to support FastCGI can be plugged into Web server APIs such as ApacheGAPI, NSAPI, and ISAPI. Key considerations in designing FastCGI includedIminimizing the cost of migrating CGI applications (including applicationsEwritten in popular scripting languages such as Perl), supporting bothFsingle-threaded and multi-threaded application programming, supportingNdistributed configurations for scaling and high availability, and generalizingKthe roles that gateway applications can play beyond CGI's 'responder' role."
H
http://www.fastcgi.com/
C

The FCGIPLUS kit does not provide the resources to build9FastCGI-enabled applications for the OpenVMS environment.(

NOTE
*
NThis interface has been developed on the test-bench only. The author does notOuse or have access to live FastCGI applications. Although behaving itself withNthe FastCGI Developer's kit example applications there may be environments andNsituations where this untried interface will present problems. Developers areJencouraged to analyze any such behaviour (see FCGI_WATCH below) and report=problems. No example applications are provided with this kit.*
#


Mapping Rules K

These will vary according to usage requirements. There are a number ofJways to configure script activations. If the script component of the pathNneeds to vary with request then the RTE variant will be required. If constantFthen CGIplus can be used just as well. All FastCGI mappings require aLspecification for the application server host and port. These are examples.4

  exec+ /fcgi/* ($CGI-BIN:[000000]FCGIPLUS)/* \@        script=nofind script=params=fcgi_connect=localhost:45678/  script+ /an_fcgi_script* /cgi-bin/fcgiplus* \4          script=params=fcgi_connect=localhost:45678
(


Other Configuration1

Nothing in HTTPD$CONFIG specific to FCGIPLUS.L

The FCGIPLUS interface itself uses some specific environment variables toHtailor it's behaviour. These are generally provided using mapping rulesObut could be defined using logical names or assigned in DCL wrapper procedures.0

5443
FCGI_CONNECT :Provides the application server host and port as a string.1
  script=params=fcgi_connect=localhost:45678
FCGI_BUFFER LThe default application read buffer is 16384 bytes in size. It must be largeNenough to accomodate any FastCGI PDU sent by the application. If not an errorLis reported. This environment variable can be used to set this buffer size.>The FastCGI Specification limits this at 65,535 bytes maximum.E
  script=params=(fcgi_connect=localhost:45678,fcgi_buffer=32768)
FCGI_STDERR KInclude the application server's STDERR stream in request output. NormallyAthis goes into the bit-bucket but may be useful when 'debugging'.A
  script=params=(fcgi_connect=localhost:45678,fcgi_stderr=1)
FCGI_WATCH NProvide 'debugging' information as plain-text output. Significant events and aMfull hexadecimal dump of network traffic provide a useful snapshot of any one transaction.@
  script=params=(fcgi_connect=localhost:45678,fcgi_watch=1)



Problems?

(