r6 - 01 May 2007 - 19:55:17 - Main.eturnerYou are here: TWiki >  Main Web > ServerConfiguration > ProtocolListeners > HTTPFullDuplexListener

Object Overview

The HTTP protocol listener object allows AlchemyPoint Server to operate as a WWW server, servicing HTTP requests from client applications such as MS Internet Explorer or Mozilla FireFox? .

The HTTP listener is capable of operating in regular or secure (SSL / TLS) mode, and supports a variety of concurrency limiting and timeout options.

Bindings can be embedded within the HTTP listener to allow for programmatic manipulation of HTTP requests destined for specific domains, filesystem paths, etc.

Example Object Definitions

... directly within the top-level ServerConfiguration object:

Minimal Configuration:

<HTTPFullDuplexListener name="HttpListener1" 
                        portNum="80">

    ... child configuration elements ...

</HTTPFullDuplexListener>

Overview:

HTTP server bound to port "80", not binding to any specific listener IP address.


Complex Configuration (all possible attributes shown):

<HTTPFullDuplexListener name="HttpListener1" tags="listener http"
                        description="example http protocol server"
                        hostName="www.example.com"
                        listenIP="192.168.0.1"
                        portNum="80"
                        maxConcurrency="50"
                        sessionTimeout="60"
                        sessionMaxReads="10"
                        allowedMethods="get, head, post"
                        authRealm="serverRealm1"
                        realmName="Server Access"
                        authType="digest"
                        authSecret="hash40441">

    ... child configuration elements ...

</HTTPFullDuplexListener>

Overview:

HTTP server bound to port "80", and IP address "192.168.0.1". This server is defined accept up to 50 concurrent HTTP client connections, with each connection allowed to make up to 10 HTTP requests before disconnection. Client connections are timed out after 60 seconds if idle time.

This server definition is configured to allow HTTP requests using the GET, HEAD or POST operations. It authenticates all incoming client connections using the "serverRealm1" AuthenticationRealm configuration, using HTTP digest authentication. The server authentication realm is displayed to client browsers using the "Server Access" display name. A secret passphrase of "hash40441" is utilized when authentication HTTP digest authentications.

Supported Attributes

General Attributes:

  • name - (usage: required): Public name of the configuration object. This name must be globally-unique across the entire AlchemyPoint ServerConfiguration definition.

  • description - (usage: optional): Textual description of the configuration object.

  • tags - (usage: optional): Space-delimited list of one or more tags used to describe the configuration object.


Network Attributes:

  • portNum - (usage: required): TCP port (1-65535) bound by this protocol listener.

  • listenIP - (usage: optional): IP address bound by this protocol listener.

  • hostName - (usage: optional): DNS name (host.domain.tld) that should be utilized by this protocol listener when displaying server banners.


Session Limits Attributes:

  • maxConcurrency - (usage: optional): Maximum number of concurrent client connections that should be supported by this protocol listener.

  • sessionTimeout - (usage: optional): Maximum number of seconds that a client may be connected to this protocol listener.

  • sessionMaxReads - (usage: optional): Maximum number of client HTTP operations allowed within the scope of a single TCP connection.

  • allowedMethods - (usage: optional): Comma-delimited list of HTTP methods that are allowed by this protocol listener. Supported methods are:
    • get - HTTP Get (this method retrieves content from web server).
    • head - HTTP Head (this method retrieves content information from web server, but not the content data).
    • post - HTTP Post (this method posts content to web server).


Authentication Attributes:

  • authRealm - (usage: optional): Name of the AuthenticationRealm configuration object that should be utilized to secure connections to this protocol listener.

  • authType - (usage: optional): Authentication type to utilize when servicing client requests. Supported types are:
    • plain - (default): HTTP plain authentication
    • digest - HTTP digest authentication

  • authSecret - (usage: optional): Secret passphrase used when authType is set to 'digest'.

  • realmName - (usage: optional): Display name to be used when authenticating client connections (name of authentication realm visible to user in browser).

Supported Child Configuration Elements

SSL:

  • SSLServerConfig - (usage: optional): SSL server configuration object, to be specified if the HTTP listener is operating in secure (SSL / TLS) mode.

Mail Bindings:

  • Bindings - (usage: optional): Bindings object, containing one or more HTTP Binding? configuration elements. These bindings define the manner in which received HTTP requests should be acted upon.
Edit | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r6 < r5 < r4 < r3 < r2 | More topic actions

tip TWiki Tip of the Day
Disabling links in large blocks of text
You can disable automatic linking of WikiWords by surrounding the text with noautolink and /noautolink ... Read on Read more

 
Powered by TWiki
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback