Re: [hybi] Is it important to know frame length at the start of frame? (was: Re: Discontinuation of mux ...)

Joakim Erdfelt <joakim@intalio.com> Mon, 24 February 2014 18:43 UTC

Return-Path: <joakim@intalio.com>
X-Original-To: hybi@ietfa.amsl.com
Delivered-To: hybi@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4195B1A0235 for <hybi@ietfa.amsl.com>; Mon, 24 Feb 2014 10:43:18 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.723
X-Spam-Level:
X-Spam-Status: No, score=0.723 tagged_above=-999 required=5 tests=[BAYES_50=0.8, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7] autolearn=ham
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 cK-Vc1m07Jip for <hybi@ietfa.amsl.com>; Mon, 24 Feb 2014 10:43:14 -0800 (PST)
Received: from mail-ea0-f171.google.com (mail-ea0-f171.google.com [209.85.215.171]) by ietfa.amsl.com (Postfix) with ESMTP id 3184B1A024E for <hybi@ietf.org>; Mon, 24 Feb 2014 10:43:12 -0800 (PST)
Received: by mail-ea0-f171.google.com with SMTP id f15so3306603eak.2 for <hybi@ietf.org>; Mon, 24 Feb 2014 10:43:11 -0800 (PST)
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:date :message-id:subject:from:to:cc:content-type; bh=LdhS7OCGymlQkO5fzCGcZtyigv3hEXgqXe7Kxswj7oc=; b=WWZG4mGDPW+dj1ZjjQPMYuSRKb19FwuKvLrie7yADrDu3aHmXdy7y9CSpluaHafZam vRKKgA+vgFImvNocKv2g3ZhNrZ2PBnBiJK6CuA0DscOWj9sW6joj1sQX1Wh1EwAUgVXq CQf+B3d+7YB24letk95zew8cRPxioS+o0PscGAwXIz8bfd3KCWOaYy702URSQDCf8Zrn 57O7CTmqg1+5VK2/QPeQZxfQp7v+AHLnjmOGhV8GDWqT3OVT+71Arvy+sRLqdIaQoHlX PTlSYFLMvxtLlN+Hsz5KeEQgnpcvOMdNzvOy8/a2H/93OGiaX5iS5AZSFI48+CDG8WSv gAeA==
X-Gm-Message-State: ALoCoQknKBCRzrT7L1mUCw3FVetqNtkx6t5IHAEWbAWdqTol9/9oXAxhoH6TBfIw2fFDvQJ08TKw
MIME-Version: 1.0
X-Received: by 10.14.103.67 with SMTP id e43mr25828930eeg.94.1393267391126; Mon, 24 Feb 2014 10:43:11 -0800 (PST)
Received: by 10.15.23.134 with HTTP; Mon, 24 Feb 2014 10:43:11 -0800 (PST)
In-Reply-To: <CAH9hSJY4NResx4DskJM8agd5ZXo9yHELYaXOpWG-xXK8P4+9zw@mail.gmail.com>
References: <CAH9hSJbf_ABT7ECL9eS=_ADrncX8qBtxZv=uLcdu9_6GUv23Uw@mail.gmail.com> <CACuKZqEcA1Pv8RpWfmThMjTzi2BbVMMKXqujs6BxVfxRPZJ9NQ@mail.gmail.com> <CAG4zZZCr4aTfVpw2coX2g0qw++4kdgNCFVze6tHKZ+fJNqb0aQ@mail.gmail.com> <CAG4zZZA4WR50Ea2e36XEgTgpJURwiMFn+DXeYuxHFfZatYzDOQ@mail.gmail.com> <CAH9hSJYv5VXGjS7AfG12-ArEvE6Uj_eE6pPxAiQcchcgV8vHcg@mail.gmail.com> <CAH9hSJbzra7uz7yfKQwfZaP_jhnxwdZyx8JnwCmBGhiMk6rbtg@mail.gmail.com> <CAG4zZZC1cmaH36znAvVLZE_MyJ+ThNk1Ky7tQ-QnKf_qwiQNDw@mail.gmail.com> <CAG4zZZB3h6TTFLUp-ucYQP7tMf-8=h5fh1UqufMh3w-0JN+hSw@mail.gmail.com> <CAH9hSJaeCrLjkhHUzaaGDw-apiSv-eaPZeYGEHBuwRoF3yPCOA@mail.gmail.com> <CAH9hSJY4NResx4DskJM8agd5ZXo9yHELYaXOpWG-xXK8P4+9zw@mail.gmail.com>
Date: Mon, 24 Feb 2014 11:43:11 -0700
Message-ID: <CAG4zZZC_S-+sALay3h+cD3nUK33_ayef5QC6v--TiAAR3Oc33w@mail.gmail.com>
From: Joakim Erdfelt <joakim@intalio.com>
To: Takeshi Yoshino <tyoshino@google.com>
Content-Type: multipart/alternative; boundary="001a11c289acecee2704f32b579c"
Archived-At: http://mailarchive.ietf.org/arch/msg/hybi/YgE6bwO8shbC-pZaPDcT10AoJqo
Cc: "hybi@ietf.org" <hybi@ietf.org>, Peter Thorson <webmaster@zaphoyd.com>
Subject: Re: [hybi] Is it important to know frame length at the start of frame? (was: Re: Discontinuation of mux ...)
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/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: Mon, 24 Feb 2014 18:43:18 -0000

Let me see if I grok this entirely...

You are saying that HTTP/2.0 HEADERS has a 14 bit value already.
You would like to utilize this existing 14 bit value to represent websocket
payload data.
You would like to avoid having to adjust or supplement HTTP/2.0 HEADERS
just for WebSocket behaviors.
You are indicating that this 14 bit value is not a 1 to 1 representation of
"original WebSocket frame size" as determined by various APIs or extensions
before hitting the HTTP/2.0 layer.
You hint at the behavior of large (over 14 bit length) "original WebSocket
frames" being likely sent in multiple HTTP/2.0 DATA/END_SEGMENT portions.

Wouldn't this also mean that any "original WebSocket frame" length
information not being present on the receiving side. right?
The receiving side would just see HTTP/2.0 DATA/END_SEGMENT with some
indicator that the DATA is for WebSocket, right?
The receiving side would never see the "original WebSocket frame" as this
information is now lost.  Is that correct?
Instead you have HTTP/2.0 DATA length header for WebSocket payload data,
along with an END_SEGMENT indicating the separation between WebSocket
messages.


--
Joakim Erdfelt <joakim@intalio.com>
webtide.com <http://www.webtide.com/> - intalio.com/jetty
Expert advice, services and support from from the Jetty & CometD experts
eclipse.org/jetty - cometd.org


On Mon, Feb 24, 2014 at 11:28 AM, Takeshi Yoshino <tyoshino@google.com>wrote:

> Thanks all for your comments.
>
> First, please note that I wanted to discuss the question in the context of
> WS/HTTP/2.0 layering. Not about redesign of RFC 6455 itself.
>
> I asked this question since the length header is the biggest field when
> encoded into HTTP/2.0 HEADERS format. Whether we can eliminate it or not in
> WS/HTTP/2.0 is one of the most important points to evaluate the plans
> employing HTTP/2.0 HEADERS.
>
> Though the ranges the length headers represent differ (HTTP/2.0: 14 bit,
> WS length format: 63 bit), it seems everyone can live without a header of
> "original WebSocket frame size".
>
> Please reply to this post if you have any objection, but please don't
> write objection to use of HTTP/2.0 HEADERS itself in this thread.
>
> Thanks
>