Re: WiSH: A General Purpose Message Framing over Byte-Stream Oriented Wire Protocols (HTTP)

Van Catha <vans554@gmail.com> Sat, 29 October 2016 17:30 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3161E12946A for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sat, 29 Oct 2016 10:30:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.931
X-Spam-Level:
X-Spam-Status: No, score=-6.931 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_SORBS_SPAM=0.5, RP_MATCHES_RCVD=-0.431, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mr8pRVeYyfpU for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sat, 29 Oct 2016 10:30:12 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 006E1129407 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Sat, 29 Oct 2016 10:30:11 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1c0XOE-0002gG-RF for ietf-http-wg-dist@listhub.w3.org; Sat, 29 Oct 2016 17:25:54 +0000
Resent-Date: Sat, 29 Oct 2016 17:25:54 +0000
Resent-Message-Id: <E1c0XOE-0002gG-RF@frink.w3.org>
Received: from titan.w3.org ([128.30.52.76]) by frink.w3.org with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <vans554@gmail.com>) id 1c0XO7-0002fV-7P for ietf-http-wg@listhub.w3.org; Sat, 29 Oct 2016 17:25:47 +0000
Received: from mail-qt0-f182.google.com ([209.85.216.182]) by titan.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <vans554@gmail.com>) id 1c0XO0-0006eI-Ot for ietf-http-wg@w3.org; Sat, 29 Oct 2016 17:25:41 +0000
Received: by mail-qt0-f182.google.com with SMTP id c47so6526268qtc.2 for <ietf-http-wg@w3.org>; Sat, 29 Oct 2016 10:25:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=3Pn8u4PI93HZtdwmUjKSaK/ZEH17TkvAAmFeJr8L5u0=; b=UJwfNswdrSw3oQQiWuFU+Prqd6yYNE2s4AtydIlj750jGq/wQuoWbJ83M0ydK1z6lS TdQ659x1Qwc4dGewgzfp7v+hvqejobySalQAJkmyxjHcViCMWg4VjKdbsZEyTE1MFye1 eJgVSLBsFEVrHyZGCXfDao+2rNGo545xhVLxsLCmzJoPi8N14+FZeVj0SPoOrqqVHnUq PriB8ue+ZTDi8ShsMpePUa24dczDsc14+zhGIViQswq+Ck+wBo+V9KcS8NUgevYkHjlS oPyvIf5OpYmeNba6wOZYlnvhCMsejjlFUZvsS9hroF+iSHJ6qwDTOPNeFwsvR8lMD9uG AVig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=3Pn8u4PI93HZtdwmUjKSaK/ZEH17TkvAAmFeJr8L5u0=; b=UI+DKxQHlvZ0/VCWbpk7YEzKqhIPvt+nFp6hjxOCqKkIZoxgoUFO0DN38lTum6+P/l Hnw4dKyAcv1PBRrSQ89cbo5SvFu1lAyOpTgnsTBgNnytqup0/7Qpcxji7VCe+p6PvJKH k9hRYBBDVM0hXIXFtttBoOrVnolnie86fi3aErjZUYFsXvkAQ6QWr3Mm9odXzhVy9J/8 wvVXTIlkktlZiIYzjQqgR6AGDY4jMB7jq/YI5g5SmJvplbldCuhTiQsEPIaLLDXlYc0k 2OL60l9a+3OLh0UKokcO13P8h+1ZVzkFi5mf0e86QbDba+y1ruLsKdpeoV/a47G8CJ/3 dtNA==
X-Gm-Message-State: ABUngveFKc6K79kMaQgj63tvnBBgtGzE+FLwKFsVMbJeONqDwE1I+IvwAEknu73zGPSdVnZNS8kTMkLt6hNvMw==
X-Received: by 10.237.59.120 with SMTP id q53mr14981969qte.116.1477761914367; Sat, 29 Oct 2016 10:25:14 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.55.209.8 with HTTP; Sat, 29 Oct 2016 10:25:13 -0700 (PDT)
In-Reply-To: <CAH9hSJZZCVMpQrpEV_JTceEmf2Y2aC_kJNXJmLW=LPebG+JR7g@mail.gmail.com>
References: <CAH9hSJZdBJ02+Z6o=aanZ=5PN=9VwyL1ZcX2jct-6f_FFivLGA@mail.gmail.com> <0f79ddf6-c455-c41a-f269-a1bdcef05b14@ninenines.eu> <CAH9hSJb2R9gv2vNqoyTjbMV4hZTYdpX2PoAoYgWUT1UuigLHRA@mail.gmail.com> <5541be74-afcc-6aef-404e-63acb2f608eb@ninenines.eu> <CAH9hSJarsNFqX1tAL7BZmZQwUrEQs1X3wtrAPuMyz8s-k_7WRg@mail.gmail.com> <43998e7b-9227-7562-b2c6-c08134065e22@ninenines.eu> <CAD3-0rPRPzVvYb6_Z4wDZp73L5Kyb7LmE0P5j4A-2VSRwT7FMw@mail.gmail.com> <CAH9hSJb=mWdHP8xcBis8-jhWgQTfN-cgQXVV3eCyT4U8JYQHZA@mail.gmail.com> <CAP8-FqnLaRvyQgXXkoNQPKcyMhv-O3RN67CMw5L_-1iQ9c6mhw@mail.gmail.com> <CAH9hSJYpsPW4S9n2LaaLTYYKB7wR3Sod2=fny2CZoUR7A0bSJA@mail.gmail.com> <CAP8-FqkOX1Sq6_=Sgb++QRiDWKEiOxAJ13kzMSr9heu-Ek3QmA@mail.gmail.com> <508f7085-b6b9-572e-7b0f-26cafc94dd44@ninenines.eu> <CAH9hSJZcGui08=DivN9vynKejvNFy+RYtRDYDnd6U6gxyX3UgQ@mail.gmail.com> <CAH9hSJZZCVMpQrpEV_JTceEmf2Y2aC_kJNXJmLW=LPebG+JR7g@mail.gmail.com>
From: Van Catha <vans554@gmail.com>
Date: Sat, 29 Oct 2016 13:25:13 -0400
Message-ID: <CAG-EYCizcCU1wL9t4F0Zh7s+aA4jp9tZFbUWDd0ySP_hCke_LA@mail.gmail.com>
To: Takeshi Yoshino <tyoshino@google.com>
Cc: Loïc Hoguin <essen@ninenines.eu>, Costin Manolache <costin@gmail.com>, Wenbo Zhu <wenboz@google.com>, "ietf-http-wg@w3.org Group" <ietf-http-wg@w3.org>
Content-Type: multipart/alternative; boundary="94eb2c0e6e08f7f84905400441e2"
Received-SPF: pass client-ip=209.85.216.182; envelope-from=vans554@gmail.com; helo=mail-qt0-f182.google.com
X-W3C-Hub-Spam-Status: No, score=-5.1
X-W3C-Hub-Spam-Report: AWL=-1.130, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_SORBS_SPAM=0.5, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: titan.w3.org 1c0XO0-0006eI-Ot bce12b81733bbc3b98f402ddc798ccdc
X-Original-To: ietf-http-wg@w3.org
Subject: Re: WiSH: A General Purpose Message Framing over Byte-Stream Oriented Wire Protocols (HTTP)
Archived-At: <http://www.w3.org/mid/CAG-EYCizcCU1wL9t4F0Zh7s+aA4jp9tZFbUWDd0ySP_hCke_LA@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/32726
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

About changing the framing and other things, I think this is wrong. The way
WiSH currently is presented is perfect for quick adaptation.  Any changes
to framing or how it works will greatly delay browsers adding it as they
will have to change client code related to websockets.  Removing the mask
for example is fine, the browser will just always set the MASK bit to 0.
No need to change any client code.

On Fri, Oct 28, 2016 at 3:05 PM, Takeshi Yoshino <tyoshino@google.com>
wrote:

> Sorry for being ambivalent.
>
> We can of course revisit each design decision we made for RFC 6455 framing
> and search for the optimal again. But as:
> - one of the main philosophies behind WiSH is compatibility with WebSocket
> in terms of both spec and implementation
> - the WebSocket is widely deployed and therefore we have a lot of
> implementations in various languages/platform
> - most browsers already have logic for the framing
> - the framing is not considered to be so big pain
> inheriting the WebSocket framing almost as-is is just good enough.
> Basically, I'm leaning toward this plan.
>
> Takeshi
>
> On Sat, Oct 29, 2016 at 3:12 AM, Takeshi Yoshino <tyoshino@google.com>
> wrote:
>
>> On Sat, Oct 29, 2016 at 2:55 AM, Loïc Hoguin <essen@ninenines.eu> wrote:
>>
>>> On 10/28/2016 08:41 PM, Costin Manolache wrote:
>>>
>>>> Current overhead is 2 bytes if frame is up to 125 bytes long - which I
>>>> think it's not very common,
>>>> 4 bytes for up to 64k, and 10 bytes for anything larger.
>>>> IMHO adding one byte - i.e. making it fixed 5-byte, with first as is,
>>>> and next 4 fixed length would
>>>> be easiest to parse.
>>>>
>>>
>>> Is making it easy (or easier) to parse even a concern anymore?
>>>
>>> Considering the number of agents and servers already supporting
>>> Websocket, the numerous libraries for nearly all languages and the great
>>> autobahntestsuite project validating it all, reusing the existing code is a
>>> very sensible solution.
>>>
>>>
>> Yeah, I've been having similar feeling regarding cost for parser/encoder
>> implementation though I might be biased.
>>
>>
>>> There are obviously too many options to encode and each has benefits -
>>>> my only concern was
>>>> that the choice of 1, 2, 8 bytes for length may not match common sizes.
>>>>
>>>> ( in webpush frames will be <4k ).
>>>>
>>>
>>> --
>>> Loïc Hoguin
>>> https://ninenines.eu
>>>
>>
>>
>