Processing HTTP requests by using directly attached user transactions
The socket listener task CSOL is optimized to attach user transactions directly for fast arriving HTTP requests. This bypasses the web attach task, so reduces the CPU time that is required to process each request.
Required attribute valuescolumn in this table.
Resource or request | Attribute or request condition | Required attribute values and conditions for the direct route: ALL criteria must apply |
Attribute values and conditions for the indirect route: Used if any criteria apply |
---|---|---|---|
TCPIPService | PROTOCOL | HTTP | USER |
SSL | NO | ATTLSAWARE | YES | CLIENTAUTH | |
URIMAP | ANALYZER | NO | YES |
USAGE | SERVER | PIPELINE | ATOM | CLIENT | |
HTTP REQUEST | HEADER | Arrived | Not arrived |
URIMAP | Matched | Not matched |
The socket listener task CSOL detects inbound TCP/IP connection requests on all ports that are defined to CICS®, and starts the CICS service that is associated with the port. When the port is intended for CICS web support that uses the PROTOCOL of HTTP and SSL support NO or ATTLSAWARE, CSOL uses the available request data to assess whether a directly attached user transaction can handle the request.
- CSOL cannot determine the URI and the USER ID from the request header data (for example, an HTTP 1.0 request that did not contain the host header was received).
- No matching URIMAP is found or enabled for the request.
- The matching URIMAP indicates that the request needs to go through the analyzer program (that is, the URM attribute on TCPIPService).
For web service requests and atom feeds (that is, URIMAP with usage of PIPELINE or ATOM), no analyzer is involved, so these requests can be optimized and processed by the transactions CPIH or CW2A, provided that no SSL session is used. This mechanism is ready to adopt the direct route and gain performance enhancement, without any changes.
For an HTTP server request, if the matching URIMAP indicates that the client expects an application-generated response and other criteria are also met, CSOL directly attaches the transaction CWBA that is defined in the URIMAP to process the request. The transaction's task receives the request data from the web client and processes it as normal.