Sending a pipelined sequence of requests

You may send further requests without waiting for a response from the server. This is known as pipelining. The WEB SEND command is used for sending pipelined requests, and the WEB CONVERSE command cannot be used (because that command includes waiting for a response).

How CICS Web support handles pipelining has more information about pipelining. If you want to pipeline requests:
  1. Make sure you have a persistent connection with the server. The HTTP/1.1 specification allows you to make one attempt to send a pipelined sequence without checking that the connection is persistent. If this attempt fails, you must check before retrying the requests. To determine the nature of the connection:
    1. Examine the HTTP version information that was returned on the WEB OPEN command (or use the WEB EXTRACT command to obtain this information).
    2. If you have received a previous response from the server, use the WEB READ HTTPHEADER command to check if the server sent a Connection: close or a Connection: Keep-Alive header.
    Servers that are at HTTP/1.1 level and do not send a Connection: close header, and servers that are at HTTP/1.0 level and do send a Connection: Keep-Alive header, support persistent connections.
  2. The HTTP/1.1 specification says that your sequence of requests should be idempotent; that is, if you repeat all or part of the sequence, the same results should be obtained. Pipelining has more information about idempotency.
  3. Do not specify CLOSESTATUS(CLOSE) on any of the requests except the final request in the pipelined sequence.