http://rest.blueoxen.net/cgi-bin/wiki.pl?TwoPhaseCommit proposed implementing two-phase commits using a custom header value to identify the transaction associated with a request. Wouldn't this approach break caching proxies? For example, a proxy sees HTTP DELETE /foo
against Transaction 123 but it's not smart enough to realize this transaction is subsequently rolled-back. The proxy then proceeds to cache the fact that /foo
has been deleted.
Am I wrong? What do you recommend for implementing RESTful two-phase commits?