- 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