Configuring Properties

The HTTP Server version 2.0 API allows applications to manually configure request queues, server sessions, and URL groups. The server session is the top-level object that contains configuration information that applies to all the URL groups created under them. The application creates a server session with one or more URL groups under it, and then associates the URL group with a request queue.

For more information about specific configuration objects in HTTP Server version 2.0 API, see:

Properties for the configuration objects are set with the HttpSetServerSessionProperty, the HttpSetUrlGroupProperty and the HttpSetRequestQueueProperty as shown in the diagram below. The association between the request queue and the URL Group can be changed on demand whereas the association between the Server Session and the URL Groups cannot be changed. The URL Groups must be associated with a request queue to receive requests.

properties for the configuration objects

The following table lists the properties that can be set on each configuration object. In general, if no property configuration is set by the application, the HTTP Server API default configurations apply. The configuration properties set by the application on the server session override the HTTP Server API-wide configurations. The configurations set on the URL group override the server session configurations and the request queue configurations override the HTTP Server API default configurations.

Configuration Object Property
Server Session HttpServerStateProperty HttpServerLoggingProperty HttpServerQosProperty HttpServerTimeoutsProperty HttpServerAuthenticationProperty
URL Group HttpServerStateProperty HttpServerAuthenticationProperty HttpServerLoggingProperty HttpServerQosProperty HttpServerBindingProperty HttpServerTimeoutsProperty
Request Queue HttpServerStateProperty HttpServerQueueLengthProperty HttpServer503VerbosityProperty

 

The server session properties are defined in the HTTP_SERVER_PROPERTY enumeration. The following table lists the property structures that are set for each property type and the HTTP Server API default when these properties are not set by the application.

Property Structure HTTP Server API Default
HttpServerAuthenticatonProperty HTTP_SERVER_AUTHENTICATION_INFO No Authentication
HttpServerLoggingProperty HTTP_LOGGING_INFO No Logging
HttpServerQosProperty->HttpQosSettingTypeConnectionLimit HTTP_CONNECTION_LIMIT_INFO No Limit
HttpServerTimeoutsProperty HTTP_TIMEOUT_LIMIT_INFO 120 sec.
HttpServerQosProperty->HttpQosSettingTypeBandwidth HTTP_BANDWIDTH_LIMIT_INFO No Limit
HttpServerQueueLengthProperty ULONG 1000
HttpServerStateProperty HTTP_STATE_INFO Enabled
HttpServer503VerbosityProperty HTTP_503_RESPONSE_VERBOSITY HttpResponseVerbosityBasic
HttpServerBindingProperty HTTP_BINDING_INFO None

 

The following table lists the minimum and and maximum values for the HTTP Server API configurations.

Property HTTP Server API Maximum and Minimum
HttpServerQosProperty->HttpQosSettingTypeBandwidth Min = MIN_ALLOWED_BANDWIDTH_THROTTLING_RATE Max = none
HttpServerQueueLengthProperty Min = 0xA Max = 0xFFFF