拒绝 HTTP 请求
如果 CICS® 系统中的应用程序或资源暂时不可用,并且无法通过重定向提供覆盖,或者如果应用程序或资源已被永久移除,那么可以拒绝多个不同级别的 HTTP 请求。 如果 CICS 区域可能因来自 Web 客户机的长期持续连接而超负荷,那么还可以实施连接调速。
关于此任务
- 在特定请求 URL 级别。 要达到该详细程度级别,URIMAP 定义要包含请求 URL。 如果您没有 URIMAP 定义,那么可通过更改处理 HTTP 请求的分析器程序来修改这些请求的处理,但该技术不太方便。
- 在虚拟主机级别(包含特定主机名的所有请求)。 对于被合并到虚拟主机中的请求,它必须包含在 URIMAP 定义中。
- 在端口级别。 端口映射到 TCPIPSERVICE 定义。 例如,对缺省 HTTP 端口 80 禁用 TCPIPSERVICE 定义会阻止 CICS 接收任何 HTTP 请求 (使用 SSL 或非标准端口的请求除外)。
- 完全在所有端口级别。 在 CEMT 事务或 CICSPlex ® SM 中,可以关闭 CICS 内部 TCP/IP 套接字支持,从而完全关闭 CICS Web Support。
通常,如果在更精细的级别拒绝 HTTP 请求,那么 CICS 可以向 Web 客户机提供更有用的错误响应。 例如,如果通过禁用 URIMAP 定义或虚拟主机来拒绝 HTTP 请求,那么 CICS 将通过 Web 错误程序向 Web 客户机返回 HTTP 503 响应 (服务不可用)。 您可以定制 Web 错误程序来修改该响应。 然而,如果您通过禁用 TCPIPSERVICE 定义来拒绝 HTTP 请求,那么 Web 客户机将只收到表明服务器错误的常规错误响应。
如果您的 CICS 区域迂到性能问题,因为过多的 Web 客户机设置了长时间存在的持久连接,那么可以实施连接调速以控制这些请求。 连接调速会自动限制单个 CICS 区域为特定端口接受的持久 HTTP 连接数,因此您不必手动干预。 Web 客户机可以通过重新连接到另一个共享端口并提供相同服务的 CICS 区域来获取持久连接。
执行连接调速时,超出设定限制的 Web 客户机需在每次响应后关闭其连接。 HTTP/1.1 服务器通常应允许持续连接,因此仅当需要为迂到性能问题的 CICS 区域提供自动干预时,才应设置连接调速。 CICS Web Support 如何处理持续连接 说明了连接调速的影响。
您可以如下方式拒绝或调速 HTTP 请求: