CICS® Web
support now supports HTTP/1.1.
Releases of CICS before CICS Transaction Server for z/OS®, Version 3 Release 1 supported
HTTP/1.0. CICS Web
support is now enhanced to handle and provide features of the HTTP/1.1 specification,
including chunked transfer-coding, pipelining, and persistent connections.
CICS Web
support is conditionally compliant with the HTTP/1.1 specification, as described
in the Internet Society and IETF (Internet Engineering Task Force) Request
for Comments document RFC 2616, Hypertext Transfer Protocol - HTTP/1.1.
(RFC 2616 is available to download from http://www.ietf.org/rfc/rfc2616.txt.)
Conditional compliance with the HTTP/1.1 specification means that CICS satisfies
all the "MUST" level requirements, but not all the "SHOULD" level requirements,
that are detailed in the HTTP/1.1 specification, where these requirements
are relevant to the functions actually provided by CICS itself. Your user application programs
share the responsibility for compliance in the actions that they perform,
and guidance is provided to help you make your application programs compliant,
when you are ready to do that.
New behavior for CICS TS Version 3
- CICS checks
inbound messages for compliance with HTTP/1.1, and handles or rejects non-compliant
messages.
- CICS follows
the HTTP/1.1 rules for comparison of URLs.
- CICS provides
a suitable HTTP version number in the start line of outbound messages.
- On outbound HTTP/1.1 messages, CICS supplies the HTTP headers that should
normally be present for the message to be compliant with HTTP/1.1:
- Content-Length (for client request or server response).
- Content-Type (for client request or server response).
- Date (for client request or server response).
- Host (for client request).
- Last-Modified (for static server response with HFS file only).
- Server (for server response).
- TE (for client request).
- Transfer-Encoding (for client request or server response).
- User-Agent (for client request).
- CICS takes
action on the Expect header for both inbound and outbound requests.
- CICS handles
OPTIONS requests from Web clients and makes an appropriate response.
- CICS handles
TRACE requests from Web clients and makes an appropriate response.
- CICS accepts
inbound messages with chunked transfer-coding and assembles them for you,
and supports your use of chunked transfer-coding to send outbound messages.
- CICS supports
pipelining for both inbound and outbound messages.
- CICS supports
virtual hosting (multiple host names at the same IP address), based on your
URIMAP definitions.
Changed behavior, compared to CICS TS Version 2
- Connections are now persistent by default.
- CICS handles
a wider range of error situations and unsupported messages.
HTTP functions not supported by CICS Web support
The HTTP/1.1
specification (RFC 2616) defines various roles for the parties that make use
of the HTTP protocol. CICS Web support provides HTTP services that are appropriate
for an origin server, for a client, and for a user agent (although a human
user might not be involved for every HTTP client request).
The HTTP/1.1
specification also includes requirements that relate to roles which are not
relevant to CICS Web
support, and these can be ignored:
- CICS does
not act as a proxy.
- CICS does
not act as a gateway (an intermediary for another server) or a tunnel (a relay
between HTTP connections).
- CICS does
not provide caching facilities, or provide support for user-written caching
facilities.
- CICS is
not designed for use as a Web browser.