Re: [hybi] Clarify the role of closing handshake

Gabriel Montenegro <Gabriel.Montenegro@microsoft.com> Thu, 10 February 2011 09:25 UTC

Return-Path: <Gabriel.Montenegro@microsoft.com>
X-Original-To: hybi@core3.amsl.com
Delivered-To: hybi@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B0B223A6951 for <hybi@core3.amsl.com>; Thu, 10 Feb 2011 01:25:42 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.024
X-Spam-Level:
X-Spam-Status: No, score=-10.024 tagged_above=-999 required=5 tests=[AWL=0.575, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vjp62E9vedap for <hybi@core3.amsl.com>; Thu, 10 Feb 2011 01:25:41 -0800 (PST)
Received: from smtp.microsoft.com (maila.microsoft.com [131.107.115.212]) by core3.amsl.com (Postfix) with ESMTP id 7462A3A6885 for <hybi@ietf.org>; Thu, 10 Feb 2011 01:25:40 -0800 (PST)
Received: from TK5EX14HUBC101.redmond.corp.microsoft.com (157.54.7.153) by TK5-EXGWY-E801.partners.extranet.microsoft.com (10.251.56.50) with Microsoft SMTP Server (TLS) id 8.2.176.0; Thu, 10 Feb 2011 01:25:52 -0800
Received: from TK5EX14MLTW652.wingroup.windeploy.ntdev.microsoft.com (157.54.71.68) by TK5EX14HUBC101.redmond.corp.microsoft.com (157.54.7.153) with Microsoft SMTP Server (TLS) id 14.1.270.2; Thu, 10 Feb 2011 01:25:51 -0800
Received: from TK5EX14MBXW605.wingroup.windeploy.ntdev.microsoft.com ([169.254.5.102]) by TK5EX14MLTW652.wingroup.windeploy.ntdev.microsoft.com ([157.54.71.68]) with mapi; Thu, 10 Feb 2011 01:25:51 -0800
From: Gabriel Montenegro <Gabriel.Montenegro@microsoft.com>
To: Greg Wilkins <gregw@webtide.com>, Takeshi Yoshino <tyoshino@google.com>
Thread-Topic: [hybi] Clarify the role of closing handshake
Thread-Index: AQHLyLZQD4/LNEvRdUK4csWEI+DaLJP6cYsAgAABlOA=
Date: Thu, 10 Feb 2011 09:25:50 +0000
Message-ID: <CA566BAEAD6B3F4E8B5C5C4F61710C1126E04F34@TK5EX14MBXW605.wingroup.windeploy.ntdev.microsoft.com>
References: <AANLkTi=wAwQHGbu_vVS5o9yNuC-M=e_hWwtU5F6UPGqm@mail.gmail.com> <AANLkTimGHPmGSB1hCr2VJ3O8bFJiEkvdkvqptt6A8mBA@mail.gmail.com>
In-Reply-To: <AANLkTimGHPmGSB1hCr2VJ3O8bFJiEkvdkvqptt6A8mBA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "hybi@ietf.org" <hybi@ietf.org>
Subject: Re: [hybi] Clarify the role of closing handshake
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/hybi>
List-Post: <mailto:hybi@ietf.org>
List-Help: <mailto:hybi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 10 Feb 2011 09:25:42 -0000

I think your simple reason would be enough (either normal or abnormal close for now).

To be clear: you're not arguing against the simplified semantics of considering the websocket closed (no further data or control) upon either sending or receiving a Close message, correct?

> -----Original Message-----
> From: hybi-bounces@ietf.org [mailto:hybi-bounces@ietf.org] On Behalf Of Greg
> Wilkins
> Sent: Wednesday, February 09, 2011 17:04
> To: Takeshi Yoshino
> Cc: hybi@ietf.org
> Subject: Re: [hybi] Clarify the role of closing handshake
> 
> One of the other aims of the closing handshake was to better identify error
> condition, so as to prevent a client repeating unacceptable operations.
> 
> For example, if a client sends a frame that is too large for the server to handle,
> the server needs to indicate that an error condition has occurred.  If the
> connection is closed (orderly or otherwise) , then the client might assume that it
> was an idle shutdown or transient condition on the server and thus open a new
> connection and continue to send over large frames.
> 
> 
> Currently -05 says:
> 
> 7.1.2.  Server-initiated closure
>    Certain algorithms require or recommend that the server *abort the
>    WebSocket connection* during the opening handshake.  To do so, the
>    server must simply close the WebSocket connection.
> 
> 
> the problem with this is that for a client such a close of the websocket
> connection cannot be distinguished from a
> network/intermediary failure.   I think that typically an aborted
> connection should not be retried, but a network/intermediary failure should be -
> so it would be good to be able to signal to the client the difference.
> 
> Thus I'd like to suggest that the close handshake carry a single byte of reason for
> the close.
> I think it would be sufficient to define just:
> 
>   0x00 Normal close
>   0x01 Abnormal close
> 
> But I could see an argument for something a little richer:
> 
>  0x00 Idle close
>  0x01 close
>  0x02 abnormal close
> 
> but I concede that the danger here is trying to define too many close states
> _______________________________________________
> hybi mailing list
> hybi@ietf.org
> https://www.ietf.org/mailman/listinfo/hybi