Re: WiSH: A General Purpose Message Framing over Byte-Stream Oriented Wire Protocols (HTTP)
Loïc Hoguin <essen@ninenines.eu> Thu, 20 October 2016 10:16 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 83251129564 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 20 Oct 2016 03:16:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.832
X-Spam-Level:
X-Spam-Status: No, score=-6.832 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=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
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 jGn1sSsBHPRC for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 20 Oct 2016 03:16:40 -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 84ACB1294B8 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Thu, 20 Oct 2016 03:16:40 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1bxAKh-0001yD-O0 for ietf-http-wg-dist@listhub.w3.org; Thu, 20 Oct 2016 10:12:19 +0000
Resent-Date: Thu, 20 Oct 2016 10:12:19 +0000
Resent-Message-Id: <E1bxAKh-0001yD-O0@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <essen@ninenines.eu>) id 1bxAKc-0001wh-GA for ietf-http-wg@listhub.w3.org; Thu, 20 Oct 2016 10:12:14 +0000
Received: from mout.kundenserver.de ([217.72.192.74]) by maggie.w3.org with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from <essen@ninenines.eu>) id 1bxAKa-0004SQ-A7 for ietf-http-wg@w3.org; Thu, 20 Oct 2016 10:12:13 +0000
Received: from [192.168.1.97] ([176.149.24.230]) by mrelayeu.kundenserver.de (mreue102) with ESMTPSA (Nemesis) id 0MF3Up-1c90A82wgt-00GFkn; Thu, 20 Oct 2016 12:11:44 +0200
To: Takeshi Yoshino <tyoshino@google.com>
References: <CAH9hSJZdBJ02+Z6o=aanZ=5PN=9VwyL1ZcX2jct-6f_FFivLGA@mail.gmail.com>
From: Loïc Hoguin <essen@ninenines.eu>
Organization: Nine Nines
Cc: "ietf-http-wg@w3.org Group" <ietf-http-wg@w3.org>, Wenbo Zhu <wenboz@google.com>
Message-ID: <0f79ddf6-c455-c41a-f269-a1bdcef05b14@ninenines.eu>
Date: Thu, 20 Oct 2016 12:11:28 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0
MIME-Version: 1.0
In-Reply-To: <CAH9hSJZdBJ02+Z6o=aanZ=5PN=9VwyL1ZcX2jct-6f_FFivLGA@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
X-Provags-ID: V03:K0:DaHk60+BdNmRNV1oF8ncgbkK6OQ+inLFccztwWIsSMAH4kkahVd TCbLC2xQQAr3L/blznOJmfPFG4L6DOmq3DdgYCsl1RhJqDSLa9FFBNdAwuVd4aCKnwn6Iq+ 7BNb8mcUNTHYNjq/awy4+k6AIrlmTQF7n0SMdYFrXD0EUx4+V/mCk2eFl4AzSV07M2gbx+e ZDQnwr1s6BW7yao6FmLvQ==
X-UI-Out-Filterresults: notjunk:1;V01:K0:CG3VWJtCvQg=:gJyrRqkf7cn+TRZV7B4Tjf FvM96SQRB+iIfcRg5baIlz8Qet0UQlHf5/TQdfv33imZ6ReygaNF10WtQD0Yl3sMKohTHW6ze M0DELfSVGcRwMLNTNOWN2d43OaVBKh0A304o1LHQSP+gfrZJ6Y7D+EvEDM0udr4GFOrTdfvXp fjlXCfC2HZXzy2UV+ujSEUWmErqD94Kc/wK4NqVO7adpAp32jpIMeYkp3X1dRg5y6oy8H+NcF s13GYM1qVkyTkAg36tphXr547ok6WqZYtgUD4OouvOx4jE14BZmkH/f5iYCuObA9em0xVRl6L vKbtBqnfHq4KoqZBAlbomSN1BCmEJCNqX0im97FQp3h0r6aAjqH2o59e0tKCILPNEGhXF1/BU qAyfH2lcqRLISNM3WM5ldKA5dDusZb7V0WYoC82A/wkEPGTW8g4ZyfdjjUwanONQC7MMtNV6F ClipF3+pO4w4S69FU+JoVxXS+UHt/Q/BM/2Sk4ijolpGNUhhFxHNKvd3jZyXxL7bvL9sYUWhA qN8QVLmPj3Oh6jAnbZxNbANEyHBXEW15HcZUqHko2UCEK0Ro+eWzqjmq3CFSTbCINK3T6xJtL IaYeAHlaFSgwTE5yXt7xc8AovF/zm/Xuk5I4yv6gn2kF7H+0O3ji8acreoXjsAHc+gxeaMyg5 tud2K6tyS6T83Mgrdg13t6+fSJp/nj6fUi5bzdsn/UM6wLh8VVN/a7nWCjejI/hy9aSfRjdrW TvVJER61IBkGFJGM
Received-SPF: none client-ip=217.72.192.74; envelope-from=essen@ninenines.eu; helo=mout.kundenserver.de
X-W3C-Hub-Spam-Status: No, score=-3.4
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_SORBS_SPAM=0.5, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: maggie.w3.org 1bxAKa-0004SQ-A7 0334b77c891506cb6bc0f01bc74b7639
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/0f79ddf6-c455-c41a-f269-a1bdcef05b14@ninenines.eu>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/32654
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>
On 10/20/2016 09:22 AM, Takeshi Yoshino wrote: > Hi HTTP WG, Hello, > Comments are appreciated. Great work. I have two general comments and three typos: You write: The Content-Type header value of the underlying HTTP request/response message MUST be "application/webstream". With the current draft this media type is not enough to indicate what the frames will actually contain. Websocket has sec-websocket-protocol for that purpose. SSE allows defining event types for each events. WiSH currently only has payload frames with no meaning beyond text or binary. Maybe have the media type define an optional parameter "protocol", for example? Then clients can use content negotiation to request protocols they accept. For example: Client sends: Accept: application/webstream;protocol=v12.stomp;q=1, application/webstream;protocol=mqtt;q=0.5, text/event-stream;q=0.1, */* Server picks the appropriate type and replies: Content-type: application/webstream;protocol=v12.stomp Using content negotiation doesn't require extra logic which is a big plus. And we can still use the existing Websocket subprotocol registry, which will be required if Websocket compatibility is a concern. You write: The message type distinction by the opcode field (text and binary) is kept to allow better Web support. One of the possible use cases is to use the text type for exchaning meta data encoded in JSON, etc., and the binary type for exchanging non-meta data messages. In practice when using JSON and where performance is a concern, I have seen users use binary for everything. The problem being that Websocket text frames must be valid UTF-8; but so does JSON. The server not providing functionality to disable the Websocket UTF-8 check (and JSON decoders not able to), users just dropped text frames entirely. Which brings me to my question: do you think it could be worth adding a note to implementers that perhaps they should consider optionally disabling the UTF-8 check when JSON is expected for text frames? Typos: * Page 3: there are two "furthur" that probably should be "further". * Page 5: there is "exchaning" instead of "exchanging". Cheers, -- Loïc Hoguin https://ninenines.eu
- Re: WiSH: A General Purpose Message Framing over … Takeshi Yoshino
- WiSH: A General Purpose Message Framing over Byte… Takeshi Yoshino
- Re: WiSH: A General Purpose Message Framing over … Loïc Hoguin
- Re: WiSH: A General Purpose Message Framing over … Van Catha
- Re: WiSH: A General Purpose Message Framing over … Takeshi Yoshino
- Re: WiSH: A General Purpose Message Framing over … Loïc Hoguin
- Re: WiSH: A General Purpose Message Framing over … Takeshi Yoshino
- Re: WiSH: A General Purpose Message Framing over … Loïc Hoguin
- Re: WiSH: A General Purpose Message Framing over … Takeshi Yoshino
- Re: WiSH: A General Purpose Message Framing over … Wenbo Zhu
- Re: WiSH: A General Purpose Message Framing over … Wenbo Zhu
- Re: WiSH: A General Purpose Message Framing over … Loïc Hoguin
- Re: WiSH: A General Purpose Message Framing over … Takeshi Yoshino
- Re: WiSH: A General Purpose Message Framing over … Costin Manolache
- Re: WiSH: A General Purpose Message Framing over … Takeshi Yoshino
- Re: WiSH: A General Purpose Message Framing over … Wenbo Zhu
- Re: WiSH: A General Purpose Message Framing over … Costin Manolache
- Re: WiSH: A General Purpose Message Framing over … Costin Manolache
- Re: WiSH: A General Purpose Message Framing over … Loïc Hoguin
- Re: WiSH: A General Purpose Message Framing over … Takeshi Yoshino
- Re: WiSH: A General Purpose Message Framing over … Wenbo Zhu
- Re: WiSH: A General Purpose Message Framing over … Takeshi Yoshino
- Re: WiSH: A General Purpose Message Framing over … Takeshi Yoshino
- Re: WiSH: A General Purpose Message Framing over … Takeshi Yoshino
- Re: WiSH: A General Purpose Message Framing over … Van Catha
- Re: WiSH: A General Purpose Message Framing over … Costin Manolache
- Re: WiSH: A General Purpose Message Framing over … Takeshi Yoshino
- Re: WiSH: A General Purpose Message Framing over … Costin Manolache
- Re: WiSH: A General Purpose Message Framing over … Wenbo Zhu
- Re: WiSH: A General Purpose Message Framing over … Takeshi Yoshino
- Re: WiSH: A General Purpose Message Framing over … Costin Manolache
- Re: WiSH: A General Purpose Message Framing over … Takeshi Yoshino
- Re: WiSH: A General Purpose Message Framing over … Van Catha
- Re: WiSH: A General Purpose Message Framing over … Takeshi Yoshino
- Re: WiSH: A General Purpose Message Framing over … Van Catha
- Re: WiSH: A General Purpose Message Framing over … Mark Nottingham
- Re: WiSH: A General Purpose Message Framing over … Andy Green
- Re: WiSH: A General Purpose Message Framing over … Mark Nottingham
- Re: WiSH: A General Purpose Message Framing over … Andy Green
- Re: WiSH: A General Purpose Message Framing over … Mark Nottingham
- Re: WiSH: A General Purpose Message Framing over … Willy Tarreau
- Re: WiSH: A General Purpose Message Framing over … Takeshi Yoshino
- Re: WiSH: A General Purpose Message Framing over … Mark Nottingham
- Re: WiSH: A General Purpose Message Framing over … Van Catha
- Re: WiSH: A General Purpose Message Framing over … Poul-Henning Kamp
- RE: WiSH: A General Purpose Message Framing over … Mike Bishop
- Re: WiSH: A General Purpose Message Framing over … Van Catha
- Re: WiSH: A General Purpose Message Framing over … Andy Green
- Re: WiSH: A General Purpose Message Framing over … Van Catha
- Re: WiSH: A General Purpose Message Framing over … Andy Green
- Re: WiSH: A General Purpose Message Framing over … Martin J. Dürst
- Re: WiSH: A General Purpose Message Framing over … Alexey Melnikov
- Re: WiSH: A General Purpose Message Framing over … Takeshi Yoshino