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:
- Configuring the Server Session
- Configuring the URL Group
- Configuring the HTTP Server API Wide Timers
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.
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 |
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for