Re: 6455 Websockets and the relationship to HTTP

Wenbo Zhu <> Thu, 15 December 2016 16:43 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id A980E12A033 for <>; Thu, 15 Dec 2016 08:43:27 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -9.896
X-Spam-Status: No, score=-9.896 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, RP_MATCHES_RCVD=-2.896, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id ebJ-8O7wHffk for <>; Thu, 15 Dec 2016 08:43:25 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id BAFB9129ADE for <>; Thu, 15 Dec 2016 08:43:25 -0800 (PST)
Received: from lists by with local (Exim 4.80) (envelope-from <>) id 1cHZ4r-0007z6-70 for; Thu, 15 Dec 2016 16:40:17 +0000
Resent-Date: Thu, 15 Dec 2016 16:40:17 +0000
Resent-Message-Id: <>
Received: from ([]) by with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <>) id 1cHZ4d-0006Fb-Tt for; Thu, 15 Dec 2016 16:40:03 +0000
Received: from ([]) by with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <>) id 1cHZ4X-00016W-KI for; Thu, 15 Dec 2016 16:39:58 +0000
Received: by with SMTP id a10so16764749ywa.3 for <>; Thu, 15 Dec 2016 08:39:37 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=rRp8u129UtL5y87U0OMfBJ8i1uXhYihnpDTi8EiuzSY=; b=oBgriW0kXiZsj/1L6f5mnypCef3AlfWtKp5MSpnyAh1W2MsVBhCJDwuz1C8K5tIFN9 t/VMKqqi+Co50ZWOtKyhV9GowtRmQU2wMkHwctnSVnh7dxYqcuAEbsFSAIVfxFdkuVdv 4cHdCy8VZDi5UpJxe3wdPO+lp/hlaJ2IpFiYxhRShb9fm1XRziHF3UrL4S9TOSG4apTM t936kyjeO0pDmVwYDYbUlCaMh9fyX5YKBqN1Laxt1bO8zhgFfqAD9K8lCE2HtAJ2lNwX 8cPDYT/Wq8os0Gqk1SH5u6BeJoL816dK7MW/YklYwOc4FJl14pqbnEWUz7nC9EMrpP/n adzQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=rRp8u129UtL5y87U0OMfBJ8i1uXhYihnpDTi8EiuzSY=; b=oNmqoBu3XOunrtEBayHRk4gQOvai0cmiI5kULy4/G+Us7aWso6wBhkzLtjRJW4r5jh M/8uD64PuJkUfMFy8QK41UrjqYklx/QkOUodYIJ6eJ1NF6cfqlApjm/qrNs3Lw3z4Lqb Brklyw1RoA/XzM0V81XNE9VjkMmi6/IVZDDptyHF0KwQt9G9rIurPMa2cnVHjDiM+IXm 1EKgRX8JbmfRgCHio12JL8spPMkEIhqZyYVIXYtaNZY+mScJ6LJWn8XRwWXAOohXK/Pf feazyd3nGTE2twPcG8LsrBLoPNM+DeGz3o69+r8LOLJPBI6CQLjFKq/ebq0/4AuTIJ62 mZ9A==
X-Gm-Message-State: AKaTC00RfzzhzfUSF0B4XZXgg9CjtVGlXRKGhriWfHh1DffParqwOn3xD9AviRMcMjyAGyLNTkjtoiNA40vUTs4o
X-Received: by with SMTP id f125mr2097194ywh.215.1481819971278; Thu, 15 Dec 2016 08:39:31 -0800 (PST)
MIME-Version: 1.0
Received: by with HTTP; Thu, 15 Dec 2016 08:39:30 -0800 (PST)
In-Reply-To: <>
References: <> <> <> <> <> <> <> <> <> <> <>
From: Wenbo Zhu <>
Date: Thu, 15 Dec 2016 08:39:30 -0800
Message-ID: <>
To: Patrick McManus <>, Takeshi Yoshino <>
Cc: "Martin J. Dürst" <>, Andy Green <>, Amos Jeffries <>, HTTP Working Group <>
Content-Type: multipart/alternative; boundary="94eb2c13cbe202d06b0543b51924"
Received-SPF: pass client-ip=;;
X-W3C-Hub-Spam-Status: No, score=-6.2
X-W3C-Hub-Spam-Report: AWL=1.917, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-3.099, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, W3C_AA=-1, W3C_DB=-1, W3C_WL=-1
X-W3C-Scan-Sig: 1cHZ4X-00016W-KI 076f8003eb0efcbd3b134efe4ce4e2a6
Subject: Re: 6455 Websockets and the relationship to HTTP
Archived-At: <>
X-Mailing-List: <> archive/latest/33200
Precedence: list
List-Id: <>
List-Help: <>
List-Post: <>
List-Unsubscribe: <>

On Tue, Dec 13, 2016 at 8:22 AM, Patrick McManus <>

> On Tue, Dec 13, 2016 at 3:47 AM, Martin J. Dürst <>
> wrote:
>> My understanding is that H1 is, despite keep-alive and pipelining and all
>> that, essentially request-response-done,
> H1 is request response, but as used in 6455 that request response is
> simply used to bootstrap into a totally different protocol that has control
> of the TCP channel at which point its request/response properties are not
> germane.
>> I sure also would like to see some data. But then, has the lack of mux in
>> H1 been a problem?
> yes it is the most serious, imo, problem with h1. Trying to attack it with
> an increase in H1 parallelism leads to congestion control and priority
> sub-optimalities, and trying to work around it with pipelines creates
> unworkable head of line problems. mux and priority were the answers to that
> and they are really the key features of h2.
>> If no, why is it in H2? If yes, why is it a problem for HTTP, but not for
>> WS?
> It could be a problem for ws - but the advocates for the work have not
> embraced that argument. Differences in workloads might be the
> differentiator. dunno. that's why I started the thread :)

The lack of mux is really the only major problem, but mostly for browsers
(multiple tabs of the same page) as I understand. I guess service workers
could help but it would then require app-level multiplexing.

On non-browsers, I wonder how often a single process needs open more than
one long-lived session to the same host. And for clients with only a single
session, TCP mux adds overhead too but that's a separate topic.

Our biggest motivation behind WiSH is to simplify the Web (infrastructure,
frameworks ...). As mentioned in the bidi-web survey doc, as far as apps
are concerned, the only thing that is missing from http/* to support WS
APIs is really just message framing. And if you need mux and/or on browsers
(same-origin resources too), sure, do http/2 or quic.

And thanks for starting the thread.