- From: Mark Nottingham <mnot@mnot.net>
- Date: Tue, 25 Oct 2011 10:04:58 +1100
- To: Julian Reschke <julian.reschke@gmx.de>
- Cc: HTTP Working Group <ietf-http-wg@w3.org>
- Message-Id: <023C0A6B-555F-4677-83FE-DFD69C9D2158@mnot.net>
Works for me. On 25/10/2011, at 3:04 AM, Julian Reschke wrote: > On 2011-10-24 15:40, Julian Reschke wrote: >> On 2011-07-19 15:22, Mark Nottingham wrote: >>> <http://trac.tools.ietf.org/wg/httpbis/trac/ticket/297> >>> >>> On 24/06/2011, at 4:25 PM, Mark Nottingham wrote: >>> >>>> My current thinking is to life the retry-specific text out of 7.1.4 >>>> into a new section, possibly adding advice (along the lines you >>>> mention). >>> >>> I think that moving this out to a separate section is a largely >>> editorial change. However, I feel that we should also downgrade the >>> SHOULD to a MAY retry when the connection is closed; there isn't any >>> reason to require a retry, and software might have good reasons not >>> to. Also, there are a lot of implementations out there that don't retry. >>> >>> Make sense? >> >> Yes. >> >> Make that a sibling of 7.1.4? ("Retrying Requests"?) >> >>> Also... >>> >>>> I'm inclined to propose removing section 7.2.4 altogether, because >>>> it's very specific to a certain kind of request (one with a body >>>> where the connection drops to a proxy or HTTP/1.0 server, when there >>>> isn't an Expect: 100-continue header), and doing so can result in the >>>> server seeing a non-idempotent request being repeated multiple times, >>>> which is bad. >>> >>> >>> Any objection to this? >> >> No, I think it makes a lot of sense. >> >> Is this something we need to mention in the "Changes from RFC 2616" >> section, though? >> ... > > OK, proposed change attached (Trac is down): > > This moves the aforementioned section into a separate subsection: > > 6.1.5. Retrying Requests > > Senders can close the transport connection at any time. Therefore, > clients, servers, and proxies MUST be able to recover from > asynchronous close events. Client software MAY reopen the transport > connection and retransmit the aborted sequence of requests without > user interaction so long as the request sequence is idempotent (see > Section 6.1.2 of [Part2]). Non-idempotent request methods or > sequences MUST NOT be automatically retried, although user agents MAY > offer a human operator the choice of retrying the request(s). > Confirmation by user-agent software with semantic understanding of > the application MAY substitute for user confirmation. The automatic > retry SHOULD NOT be repeated if the second sequence of requests > fails. > > also it removes what was 7.2.4, and updates the Changes section to say: > > Remove hard limit of two connections per server. Remove requirement > to retry a sequence of requests as long it was idempotent. > (Section 6.1.4) > > Remove requirement to retry requests under certain cirumstances when > the server prematurely closes the connection. (Section 6.2) > > Feedback appreciated, > > jr >
-- Mark Nottingham http://www.mnot.net/
Attachments
- text/plain attachment: 297.diff
Received on Monday, 24 October 2011 23:05:38 UTC