WAS v8.5 > Reference > Custom propertiesHTTP transport channel custom properties
If we are using an HTTP transport channel, we can add any of the following custom properties to the configuration settings for that channel.
To add a custom property:
- In the dmgr console, click Servers > Server Types, and then select one of the following options, depending on the type of chain you are creating:
- Application servers > > server_name. Under Web Container Settings, click Web container transport chains > chain_name > HTTP Inbound Channel > Custom Properties > New.
- WebSphere Proxy servers > server_name. Under HTTP Proxy Server Settings, click Proxy server transports. Then, select either HTTPS_PROXY_CHAIN or HTTP_PROXY_CHAIN, and then click > HTTP Inbound Channel > Custom Properties > New.
- Under General Properties specify the name of the custom property in the Name field and a value for this property in the Value field. We can also specify a description of this property in the Description field.
- Click Apply or OK.
- Click Save to save your configuration changes.
- Restart the server.
Following are the descriptions of the HTTP transport channel custom properties provided with the product. These properties are not shown on the settings page for an HTTP transport channel. We can use the custom properties page to define the following properties:
- accessLogFormat
- CookiesConfigureNoCache
- EnableBuildBackupList
- HonorTransferEncoding
- limitFieldSize
- limitNumHeaders
- localLogFilenamePrefix
- RemoveServerHeader
- ServerHeaderValue
- v0CookieDateRFC1123compat
accessLogFormat
Use the accessLogFormat property to specify the information you want included in the NCSA access log for an HTTP transport channel, and how you want that information formatted. The value for this property is a space separated list of options. The order specified the options determines the format of this information in the log.
Each option can be enclosed in quotation marks, but the quotation marks are not required. Unless otherwise noted, a value of - is printed for an option if the requested information cannot be obtained for that option.
The Following list indicates the available options and the information that is printed if that option is specified as part of the value specified for this property.
- %a
- Remote IP address
- %A
- Local IP address
- %b
- Response size in bytes excluding headers
- %B
- Response size in bytes excluding headers
0 is printed instead of - if no value is found.
- %{CookieName}C or %C
- The request cookie specified within the brackets, or if the brackets are not included, prints all of the request cookies.
- %D
- The elapsed time of the request - millisecond accuracy, microsecond precision
- %h
- Remote host
- %i or %{HeaderName}i
- HeaderName header value from the request
- %m
- Request method
- %o or %{HeaderName}o
- HeaderName header value from the response
- %q
- Output the query string with any password escaped
- %r
- First line of the request
- %s
- Status code of the response
- %t
- NCSA format of the start time of the request
- %{t\W}
- The current time when the message to the access log is queued to be logged in normal NCSA format
- %u
- Remote user according to the WAS specific $WSRU header
- %U
- URL Path, not including the query string
For example, you might specify the following directives as the value for this property:
%h %i %u %t "%r" %s %b
Based on this setting, the NCSA access log will include the following information for each request in the specified order:
- The remote host
- The HeaderName header value from the request
- The remote user according to the WebSphere Specific $WSRU header
- The NCSA format of the start time of the request
- The first line of the request
- The status code of the response
- The response size in bytes excluding headers
CookiesConfigureNoCache
Use the CookiesConfigureNoCache property to specify whether the presence of a Set-Cookie header in an HTTP response message triggers the addition of several cache related headers. If true, an Expires header with a very old date, and a Cache-Control header that explicitly tells the client not to cache the Set-Cookie header are automatically added. These headers are not automatically added if this property is set to false.
This property is functionality equivalent to the com.ibm.websphere.cookies.no.header property that was available in previous versions of the product.
Information Value Data type Boolean Default True
EnableBuildBackupList
Use the EnableBuildBackupList property to enable the HTTP channel to scan for the history files in the access and error logs directory, and rolling these files over with any newer log files created.
When true, the HTTP Channel scans for the history files in the access and error logs directory, and rolls these files over with any newer log files created.
- After you configure the HTTP error log and the NCSA access log, verify the Enable NCSA access logging field is selected for the HTTP channels for which you want logging to occur. To verify that this field is selected for an HTTP channel, click Servers > Server Types > Application servers > server > Web Container Transport Chains > HTTP Inbound Channel. This setting has to be enabled before setting this custom property to true has any effect on the HTTP channel functionality.
- If we use this custom property you must also ensure the Use chain-specific logging option is selected as part of your configuration settings for NCSA access logging. By default, the Use global logging service option is selected for NCSA access logging.
Information Value Data type Boolean Default False
HonorTransferEncoding
Use the HonorTransferEncoding property to indicate whether the HTTP transport channels should convert a chunked message to a content-length delimited message when there is only one chunk.
When true, the HTTP transport channels write out the chunks instead of switching to a content-length message even if the message only consists of one chunk. There is a performance impact to this setting because the HTTP transport channels does two writes for every single-chunk message: the first write is for the message, and the second write is for the zero byte chunk that marks the end of the message
When false, the HTTP transport channels convert a chunked message to a content-length delimited message when there is only one chunk. This setting improves channel performance because the channel only does one write for a single-chunk message that is converted to a content-length message.
Information Value Data type Boolean Default False
limitFieldSize
Use the limitFieldSize property to enforce the size limits on various HTTP fields, such as request URLs, or individual header names or values. Enforcing the size limits of these fields guards against possible Denial of Service attacks. An error is returned to the remote client if a field exceeds the allowed size.
Information Value Data type Integer Default 32768 Range 50-32768
limitNumHeaders
Use the limitNumHeaders property to limit the number of HTTP headers that can be present in an incoming message. If this limit is exceeded, an error is returned to the client.
Information Value Data type Integer Default 500 Range 50 to 4000
localLogFilenamePrefix
Use the localLogFilenamePrefix property to specify a prefix for the filename of the network log file. Normally, when inprocess optimization is enabled, requests through the inprocess path are logged based on the logging attributes set up for the web container's network channel chain. We can use this property to add a prefix to the filename of the network log file. This new filename is then used as the filename for the log file for inprocess requests. Requests sent through the inprocess path are logged to this file instead of to the network log file. For example, if the log file for a network transport chain is named .../httpaccess.log, and this property is set to local for the HTTP channel in that chain, the filename of the log file for inprocess requests to the host associated with that chain is …/localhttpaccess.log.
If we specify a value for the localLogFilenamePrefix custom property, you must also set the accessLogFileName HTTP channel custom property to the fully qualified name of the log file to use for in process requests. We cannot specify a variable, such as $(SERVER_LOG_ROOT), as the value for this custom property.
Information Value Data type String
RemoveServerHeader
Use the RemoveServerHeader property to force the removal of any server header from HTTP responses the application server sends, thereby hiding the identity of the server program.
Information Value Data type Boolean Default False
ServerHeaderValue
Use the ServerHeaderValue property to specify a header that is added to all outgoing HTTP responses if a server header does not already exist.
Information Value Data type String Default WebSphere Application Server v/x.x, where x.x is the version of WAS that is running on the system.
SustainedHighVolumeLogging
Use the SustainedHighVolumeLogging property to allow the logging code to attempt to catch up with the backlog of entries. Set in the Admin console appservers > Server Name > Web Container Transport Chains > Chain Name > HTTP Channel Name > Custom Properties.
v0CookieDateRFC1123compat
Use the v0CookieDateRFC1123compat property to indicate the value for the V0 Set-Cookie header Expires attribute is specified in the four digit year format instead of the two digit year format.
By default, the value for the V0 Set-Cookie header Expires attribute is specified in the two digit year format. Set the v0CookieDateRFC1123compat property to true if you need to use the older RFC1123, which requires a four digit year format value for the V0 Set-Cookie Expires attribute.
Information Value Data type Boolean Default False
Reference:
HTTP transport custom properties for web services applications