HTTP transport custom properties


 

+

Search Tips   |   Advanced Search

 

The HTTP transport custom properties admin console page only appears if an HTTP transport is defined.

Use HTTP transports only on a V5.1 node in a mixed cell environment. Use HTTP transport channels instead of HTTP transports to handle the HTTP requests on all of the other nodes. The topic HTTP Tunnel transport channel custom property describes the custom properties that we can specify for an HTTP transport channel.

The use of IPv6 and WS-AT are not supported on HTTP transports; they are only supported on HTTP transport channel chains.

If using HTTP transports, we can set the following custom properties on either the Web container or HTTP transport custom properties page on the admin console. When set on the Web container custom properties page, all transports inherit the properties. Setting the same properties on a transport overrides like settings defined for a Web container.

To specify custom properties for a specific transport on the HTTP transport:

  1. In the admin console click...

      Servers | Server Types | WebSphere appservers | server_name | Container Settings | Web container | Web container settings | HTTP transport | host | Additional Properties | Custom Properties | New

  2. On the settings page, enter the property you want to configure in the Name field and the value you want to set it to in the Value field.

  3. Click Apply or OK.

  4. Click Save on the console task bar to save the configuration changes.

  5. Restart the server.

Following is a list of custom properties provided with WAS ND. These properties are not shown on the settings page for an HTTP transport.

ConnectionIOTimeOut

Use the ConnectionIOTimeOut property to specify how long the J2EE server waits for an I/O operation to complete. Set this variable for each of the HTTP transport definitions on the server. You will need to set this variable for both SSL transport and non-SSL transport. Specifying a value of zero disables the time out function.

Data type Integer
Default

5 seconds for the i5/OS and distributed platforms

ConnectionKeepAliveTimeout

Use the ConnectionKeepAliveTimeout property to specify the maximum number of seconds to wait for the next request on a keep alive connection.

Data type Integer
Default

5 seconds for the i5/OS and distributed platforms

MaxConnectBacklog

Is only valid for i5/OS and distributed platforms. Use the MaxConnectBacklog property to specify the maximum number of outstanding connect requests that the operating system will buffer while it waits for the appserver to accept the connections. If a client attempts to connect when this operating system buffer is full, the connect request will be rejected.

Keep in mind that a single client browser might need to open multiple concurrent connections (perhaps 4 or 5); however, also keep in mind that increasing this value consumes more kernel resources. The value of this property is specific to each transport.

Data type Integer
Default 511

MaxKeepAliveConnections

Is only valid for i5/OS and distributed platforms. It is ignored on the z/OS platform because asynchronous I/O sockets are used to maintain connections in that environment. Use the MaxKeepAliveConnections property to specify the maximum number of concurrent keep alive (persistent) connections across all HTTP transports. To make a particular transport close connections after a request, we can set MaxKeepAliveConnections to 0 (zero), or we can set KeepAliveEnabled to false on that transport.

The Web server plug-in keeps connections open to the application server as long as it can. However, if the value of this property is too small, performance is negatively impacted because the plug-in has to open a new connection for each request instead of sending multiple requests through one connection. The appserver might not accept a new connection under a heavy load if there are too many sockets in TIME_WAIT state. If all client requests are going through the Web server plug-in and there are many TIME_WAIT state sockets for port 9082, the appserver is closing connections prematurely, which decreases performance. The appserver closes the connection from the plug-in, or from any client, for any of the following reasons:

  • The client request was an HTTP 1.0 request when the Web server plug-in always sends HTTP 1.1 requests.

  • The maximum number of concurrent keep-alives was reached. A keep-alive must be obtained only once for the life of a connection, that is, after the first request is completed, but before the second request can be read.

  • The maximum number of requests for a connection was reached, preventing denial of service attacks in which a client tries to hold on to a keep-alive connection forever.

  • A time out occurred while waiting to read the next request or to read the remainder of the current request.

Data type Integer
Default 90% of the maximum number of threads in the Web container thread pool. This prevents all of the threads from being held by keep alive connections so that there are threads available to handle new incoming connect requests.

MaxKeepAliveRequests

Use the MaxKeepAliveRequests property to specify the maximum number of requests which can be processed on a single keep alive connection. This parameter can help prevent denial of service attacks when a client tries to hold on to a keep-alive connection. The Web server plug-in keeps connections open to the appserver as long as it can, providing optimum performance.

On the i5/OS and distributed platforms, when this property is set to 0 (zero), the connection stays open as long as the appserver is running.

Data type Integer
Default

100 requests for the i5/OS and distributed platforms

KeepAliveEnabled

Is only valid for i5/OS and distributed platforms. Use the KeepAliveEnabled property to specify whether or not to keep connections alive

Data type String
Value true or false
Default true

RemoveServerHeader

Use this property to specify whether an existing server header is removed before a response message is sent. If this property is set to true, the value specified for the ServerHeaderValue property is ignored.

Data type String
Value true or false
Default false

ResponseBufferSize

Is used to specify, in bytes, the default size of the initial buffer allocation for the response buffer. When the buffer fills up, a flush for this buffer space will automatically occur. If a value is not specified for this property, the default response buffer size of 32K bytes is used.

The setBufferSize() API method can be used to override the value specified for this custom property at the individual servlet level.

Data type Integer
Default 32000 bytes

ServerHeaderValue

Use this property to specify a server header this is added to outgoing response messages if server header is not already provided. Is ignored if the RemoveServerHeader property is set to true.

Data type string
Default WAS/x.x

x.x is the version of WAS that we are using.

SoLingerValue

Use this property to specify, in seconds, the amount, that the socket close operation waits for data contained in the TCP/IP send buffer to be sent. Is ignored if the UseSoLinger property is set to false.

Data type Integer
Default 20 seconds

TcpNoDelay

Use this property to set the socket TCP_NODELAY option which enables and disables the use of the TCP Nagle algorithm for connections received on this transport. When this property is set to true, use of the Nagle algorithm is disabled.

Data type String
Value true or false
Default true

Trusted

Use the Trusted property to indicate that the appserver can use the private headers that the Web server plug-in adds to requests.

Data type String
Value true or false
Default false

This property must be set to false for SSL client certificate authentication to work.

UseSoLinger

Use this property to set the socket SO_LINGER option. This property configures whether the socket close operation waits until all of the data contained in the TCP/IP send buffer is sent before closing a connection. If this property is set to true, and the time expires before the all of the content of the send buffer sent, any data remaining in the send buffer is lost.

The SoLingerValue property is ignored if this property is set to false.

Data type String
Value true or false
Default true





 

Related tasks

Modify the default Web container configuration
Tuning the application serving environment

 

Related

HTTP transport custom properties for Web services applications
Administrative console page features
HTTP transport settings