为响应编写 HTTP 头
对于应用程序创建的动态响应, CICS® 根据用于消息的 HTTP 协议版本,自动提供基本消息所需的 HTTP 头。 您的应用程序不需要写这些头。 但是,您可能想要将更多 HTTP 头添加到您的响应。
关于此任务
以下是 CICS 创建的头的完整列表:
- ARM 相关因子
- 连接
- Content-Type(由 CICS 编写,但在需要复杂头时,可由客户机应用程序提供)
- Content-Length
- Date
- Expect
- 主机
- 服务器 (自动创建取决于系统初始化参数 HTTPSERVERHDR
- TE(由 CICS 编写,但是可能添加了更多实例)
- Transfer-Encoding
- User-Agent (自动创建取决于系统初始化参数 HTTPUSRAGENTHDR
- WWW-Authenticate
请注意,仅当 CICS 是 HTTP 客户机时,这些头中的某些头才适用和创建。 CICS Web Support 的 HTTP 头参考 中描述了创建这些头的环境。 如果在响应上写入这些头,那么 CICS 不会覆盖这些头,而是使用应用程序提供的版本。
CICS 在发送响应时提供的头通常是为了使基本消息符合相应的 HTTP 协议规范而编写的头。 您可能想要将更多的 HTTP 头添加到响应中以实现以下这些目的:
- 控制高速缓存和文档到期;例如,Cache-Control、Expires 和 Last-Modified。
- 内容协商;例如,Accept-Ranges 和 Vary。
- Web 客户机的信息;例如,Title、Warning 和更多 Content 头。
如果您的应用程序正在执行复杂操作,或者如果为您的响应选择某些状态码,那么您所遵从的 HTTP 规范可能要求将特定的 HTTP 头用于您的消息。 当将任何 HTTP 头添加到响应时,检查一些重要需求所遵从的 HTTP 规范是否应用于那些头。 请参阅 HTTP 协议 ,以获取有关 HTTP 规范的更多信息。
注: 如果 HTTP 头包含标准字母和数字字符以外的字符,那么必须在代码页 037 中提供该头。
在您发出 WEB SEND 命令以发生消息前,为消息编写其他 HTTP 头。 该规则的例外情况是在您编写的头要在已分块消息上作为尾部头发送时,在这种情况下,随后的过程适用。 要为响应编写 HTTP 头: