IBM have released HTTPR, a specification for ensuring the reliable delivery
of payloads with HTTP between server and client.
Releasing the specification to the public in order to "stimulate public
discussion on reliable message delivery on the Internet," IBM have also
published an HTTPR
primer on their developerWorks site.
IBM's proposal, which would see two new URI protocol schemes HTTPR and an
SSL-enabled HTTPSR, uses HTTP 1.1 as its base. Whereas HTTP is stateless,
HTTPR also offers session-based and pipelined modes of operation. HTTPR
sessions look essentially similar to HTTP POST requests, but with an extra set
of headers in the HTTP body that encapsulate the HTTPR request, which can
involve GET-RESPONDER-INFO, PUSH, PULL, EXCHANGE, REPORT, or RESOLVE
verbs.
It will be intriguing to see how this proposal is received from the
protocols community at large, riding as it does somewhat awkwardly on HTTP
1.1. Its main rival would seem to be the BEEP specification, which specifies a
protocol framework on top of which such reliable messaging services could be
defined. Initial
feedback from seasoned protocol critic Mark Baker suggests that IBM may
have some rethinking to do. Discussion is also
ongoing on the W3C's web services mailing list.
Running unfortunately (and sadly predictably) counter to web culture, the
specification is available
only in PDF format. Feedback is encouraged to the discussion
forum on IBM's developerWorks site.