HTTP server support for HTTP/2 reduces the number of sockets required when a large number of HTTP messages are exchanged between a remote client and the z/TPF system. HTTP/2 requests are presented to the application in the same manner as HTTP/1.x and require no application changes.
Although no application changes might be needed, there are potential changes needed to the HTTP server request/response for logging user exit. First, the socket descriptor is no longer sufficient information to correlate the request information with the response. For HTTP/2, a stream identifier is also supplied which, in conjunction with the socket descriptor, can supply the correlation between the request and response. Secondly, the HTTP format of the request/response is not supplied for HTTP/2 as the format drastically differs from HTTP/1.x. If the HTTP format is needed for logging, a compatible HTTP/1.x format for HTTP/2 messages can be created by using the tpf_httpFormatRequest and tpf_httpFormatResponse functions.
To enable HTTP/2 for a z/TPF HTTP server after installing PJ48022, update the HTTP server configuration file to set the HTTP2 parameter to YES. HTTP/2 also provides for 2 additional configuration parameters. The MAXSTREAMS parameter sets the maximum number of concurrent streams that will be supported on an individual HTTP/2 connection (socket). The HTTP2WINBUF parameter sets the amount of system heap an individual HTTP/2 connection can use to buffer the response when a blocking condition arises. If a response becomes blocked and the response cannot be buffered in system heap, then the tpf_httpSendResponse function will return an error.
For more information about PJ48022, see the APEDIT.