HTTP 传输通道定制属性
如果您正在使用 HTTP 传输通道,那么可以将以下任何定制属性添加到该通道的配置设置。

- WCInboundAdmin
- WCInboundAdminSecure
- WCInboundDefault
- WCInboundDefaultSecure
应用程序服务器或代理服务器将继承对 WCInboundAdmin 或 WCInboundAdminSecure 传输链指定的定制属性值,因为其中一个传输链通常为初始化应用程序服务器时激活的第一条传输链。因此,对 Web 容器传输链指定任何定制属性前,您应该禁用 WCInboundAdmin 和 WCInboundAdminSecure 传输链。
gotcha- 在管理控制台中,单击
- 。在 Web 容器设置下,单击 chain_name 。
- 。在“HTTP 代理服务器设置”下面,单击 。然后,选择 或 ,并单击 。
,然后根据您要创建的链类型选择以下某个选项: - 在一般属性下,在“名称”字段中指定定制属性的名称,在“值”字段中指定该属性的值。您还可以在“描述”字段中指定此属性的描述。
- 单击应用或确定。
- 单击保存以保存配置更改。
- 重新启动服务器。
- accessLogFormat
- CookiesConfigureNoCache
- DoNotAllowDuplicateSetCookies
- EnableBuildBackupList
- HonorTransferEncoding
- limitFieldSize
- limitNumHeaders
- localLogFilenamePrefix
- loggingDisable
- QuoteAddedNoCacheValue
- RemoveCLHeaderInTempStatusRespRFC7230compat
- RemoveServerHeader
- ServerHeaderValue
- UseCaseSensitiveKeyMatcher
- v0CookieDateRFC1123compat
- WaitForEndOfMessage
accessLogFormat
使用 accessLogFormat 属性可以指定您要在 NCSA 访问日志中包含的 HTTP 传输通道信息,以及您要采用的信息格式。此属性的值为以空格分隔的选项列表。您指定选项的顺序决定了此信息在记录中的格式。
可以使用引号将每个选项引起来,但引号不是必需的。除非另有声明,否则如果无法获取某个选项的请求信息,那么将对该选项输出值 -。
- %a
- 远程 IP 地址
- %A
- 本地 IP 地址
- %b
- 排除头的响应大小(以字节为单位)
- %B
- 排除头的响应大小(以字节为单位)
0 是未找到任何值的情况下的输出值。
- %{CookieName}C 或 %C
- 包含在括号中的指定请求 Cookie,或者如果未包含括号,那么将输出所有请求 Cookie。
- %D
- 请求的耗用时间 - 毫秒准确度,微秒精度
- %h
- 远程主机
- %i 或 %{HeaderName}i
- 请求中的 HeaderName 头值
- %m
- 请求方法
- %o 或 %{HeaderName}o
- 响应中的 HeaderName 头值
- %q
- 输出带有任何转义密码的查询字符串
- %r
- 请求的第一行
- %s
- 响应的状态码
- %t
- 请求的开始时间的 NCSA 格式
- %(t)W
- 消息进入队列以按正常 NCSA 格式记录到访问日志中时的当前时间
- %u
- 远程用户(根据特定于 WebSphere Application Server 的 $WSRU 头)
- %U
- 不包含查询字符串的 URL 路径
- %{X}W
- 跨组件跟踪 (XCT) 上下文标识
例如,您可能会指定以下伪指令作为此属性的值:
%h %i %u %t "%r" %s %b
- 远程主机
- 请求中的 HeaderName 头值
- 远程用户(根据特定于 WebSphere 的 $WSRU 头)
- 请求的开始时间的 NCSA 格式
- 请求的第一行
- 响应的状态码
- 排除头的响应大小(以字节为单位)

CookiesConfigureNoCache
使用 CookiesConfigureNoCache 属性指定 HTTP 响应消息中存在“设置 Cookie”头是否会触发添加几个与高速缓存相关的头。如果此属性设置为 true,那么具有很早日期的“到期”头以及显式告知客户机不要高速缓存“设置 Cookie”头的“高速缓存控制”头会被自动添加。如果此属性设置为 false,那么不会自动添加这些头。
此属性在功能上相当于产品的先前版本中提供的 com.ibm.websphere.cookies.no.header 属性。
信息 | 值 |
---|---|
数据类型 | 布尔值 |
缺省值 | True |
DoNotAllowDuplicateSetCookies
使用 DoNotAllowDuplicateSetCookies 属性可阻止 HTTP 通道发送多个同名 Set-Cookie 头。缺省值为 false。
信息 | 值 |
---|---|
缺省值 | False |
EnableBuildBackupList
使用 EnableBuildBackupList 属性可使 HTTP 通道在访问和错误日志目录中扫描历史记录文件,并使用所创建的任何较新的日志文件来转存这些文件。
此属性设置为 true 时,HTTP 通道将在访问和错误日志目录中扫描历史记录文件,并使用所创建的任何较新的日志文件来转存这些文件。
- 配置 HTTP 错误日志和 NCSA 访问日志后,请确保为要对其执行记录操作的 HTTP 通道选中了启用 NCSA 访问日志记录字段。要验证已对 HTTP 通道选中了该字段,请单击服务器 > 服务器类型 > 应用程序服务器 > server > Web 容器传输链 > HTTP 入站通道。在将此定制属性设置为 true 并且该操作对 HTTP 通道功能生效前,必须启用此设置。
- 如果使用此定制属性,那么还必须确保已选择使用特定于链的日志记录选项作为 NCSA 访问日志记录的配置设置的一部分。缺省情况下,对于 NCSA 访问日志记录选择了使用全局记录服务选项。
信息 | 值 |
---|---|
数据类型 | 布尔值 |
缺省值 | False |
HonorTransferEncoding
使用 HonorTransferEncoding 属性可以指定 HTTP 传输通道是否应在仅有一个区块的情况下将区块消息转换为内容长度定界的消息。
此属性设置为 true 时,HTTP 传输通道将写出区块,而不是切换到内容长度消息,即使该消息仅包含一个区块也是如此。此设置将产生性能影响,因为 HTTP 传输通道针对每个单区块消息会执行两次写操作:第一次写操作针对该消息,而第二次写操作针对标志该消息结尾的零字节区块。
此属性设置为 false 时,HTTP 传输通道会在仅有一个区块的情况下将区块消息转换为内容长度定界的消息。此设置将提高通道性能,因为该通道仅针对转换为内容长度消息的单区块消息执行一次写操作。
信息 | 值 |
---|---|
数据类型 | 布尔值 |
缺省值 | False |
limitFieldSize
使用 limitFieldSize 属性对各种 HTTP 字段(例如,请求 URL 或各个头名称或值)强制执行大小限制。对这些字段强制执行大小限制将防止可能的“服务拒绝”攻击。如果字段超出允许的大小,那么会向远程客户机返回错误。
信息 | 值 |
---|---|
数据类型 | Integer |
缺省值 | 32768 |
范围 | 50-32768 |
limitNumHeaders
使用 limitNumHeaders 属性限制入局消息中可以存在的 HTTP 头的数目。如果超过此限制,那么会向客户机返回错误。
信息 | 值 |
---|---|
数据类型 | Integer |
缺省值 | 500 |
范围 | 50 到 4000 |
localLogFilenamePrefix
使用 localLogFilenamePrefix 属性指定网络日志文件的文件名前缀。通常,启用进程内优化时,将根据为 Web 容器的网络通道链设置的日志记录属性来记录通过进程内路径的请求。您可以使用此属性将前缀添加到网络日志文件的文件名。然后,此新文件名用作进程内请求的日志文件的文件名。通过进程内路径发送的请求记录到此文件而不是记录到网络日志文件。例如,如果网络传输链的日志文件名为 .../httpaccess.log,而针对该链中的 HTTP 通道此属性设置为 local,那么对于与该链关联的主机的进程内请求,其日志文件的文件名为 …/localhttpaccess.log。

信息 | 值 |
---|---|
数据类型 | 字符串 |
loggingDisable
使用此定制属性可在指定的链上禁用 NCSA、FRCA 和错误日志记录。
信息 | 值 |
---|---|
数据类型 | 布尔值 |
缺省值 | False |
QuoteAddedNoCacheValue
使用此定制属性可向尚不具有 no-cache 属性的 Cache-Control 响应头添加该属性的带有引号的形式。
HTTP 通道会将带引号的 no-cache 属性正确添加到头。在以下示例中,no-cache 属性将添加到响应中提供的以下头:Cache-Control: public, max-age=604800, no-cache="set-cookie"。
信息 | 值 |
---|---|
缺省值 | False |
RemoveCLHeaderInTempStatusRespRFC7230compat
使用 RemoveCLHeaderInTempStatusRespRFC7230compat 属性可确保 HTTP 通道阻止在信息状态为 1xx 或 204 的响应消息中发送 Content-Length 头。
信息 | 值 |
---|---|
缺省值 | False |
RemoveServerHeader
使用 RemoveServerHeader 属性强制从应用程序服务器发送的 HTTP 响应中移除任何服务器头,从而隐藏服务器程序的标识。
信息 | 值 |
---|---|
数据类型 | 布尔值 |
缺省值 | False |
ServerHeaderValue
如果服务器头尚不存在的话,使用 ServerHeaderValue 属性可替换已由服务器添加到所有外发 HTTP 响应的服务器头的缺省值。服务器头的缺省值为 WebSphere Application Server Vx.x,其中 x.x 是在您系统上运行的 WebSphere Application Server 的版本。
在 V8.5.0.2 之前,如果服务器头尚不存在,那么服务器会将缺省服务器头或您指定为此属性值的头添加到所有外发 HTTP 响应。
从 V8.5.0.2 开始,如果服务器头尚不存在,那么不再自动将服务器头添加到所有外发 HTTP 响应。如果添加了具有值的此属性,那么该值将包含在响应中显示的服务器头中。如果指定值 DefaultServerValue,那么会将 WebSphere Application Server Vx.x 用作服务器头值。
信息 | 值 |
---|---|
数据类型 | 字符串 |
SustainedHighVolumeLogging
使用 SustainedHighVolumeLogging 属性可以允许日志记录代码尝试捕获条目积压。此属性是在管理控制台
中设置的。UseCaseSensitiveKeyMatcher
UseCaseSensitiveKeyMatcher 将与 accessLogFormat 配合使用。
如果将此属性设置为 true,那么将允许 accessLogFormat 中使用的键匹配器区分大小写。这解决了同时存在小写和大写形式的伪指令(例如 %u 和 %U)的情况。
信息 | 值 |
---|---|
缺省值 | False |
v0CookieDateRFC1123compat
使用 v0CookieDateRFC1123compat 属性可以指示“V0 Set-Cookie 头到期”特性的值以四位数年份格式而非两位数年份格式指定。
缺省情况下,“V0 Set-Cookie 头到期”特性的值以两位数年份格式指定。如果您需要使用较旧的 RFC1123 格式(要求“V0 Set-Cookie 到期”特性的值使用四位数年份格式),请将 v0CookieDateRFC1123compat 属性设置为 true。
信息 | 值 |
---|---|
数据类型 | 布尔值 |
缺省值 | False |
WaitForEndOfMessage
使用此定制属性可强制通道等待消息读取结束后再开始为响应提供服务。
信息 | 值 |
---|---|
缺省值 | False |