Re: Retry safety of HTTP requests

On Tue, Mar 22, 2016 at 08:32:38PM +1300, Amos Jeffries wrote:
> On 22/03/2016 6:55 p.m., Subodh Iyengar wrote:
> > HTTP/1.1 and the current HTTP/2 spec don't define the concept of
> > retry safety of requests, i.e. when are requests are safe to retry
> > and what are the limits on how retries can be performed by the lower
> > layers.
> 
> 
> RFC 7230 section 6.3.1 titled "Retrying Requests"
> <http://tools.ietf.org/html/rfc7230#section-6.3.1>
> 
> The criteria for *when* are outlined.
> 
> The *how* is not possible to be defined at the HTTP layer IMO. There are
> just so many possible ways. Up to and including things like RFC 1149
> Avian Carrier protocol as fallback.
> 
> So the "how" is application and indeed message specific and should be
> defined at those upper layers. HTTP already provides a number of
> mechanisms such as; GET, HEAD methods and/or ETag, If-*, Range headers,
> etc. which can be used by the application layer to check the state
> before its chosen method of retry (if wanted).

Also for POST requests, Expect: 100-continue provides an easy way to
probe the connection and to ensure idempotence in case of failure.

Willy

Received on Tuesday, 22 March 2016 09:27:47 UTC