Re: H2 vs responses which should not carry any payload

Bence Béky <bnc@chromium.org> Fri, 23 October 2020 14:45 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 A73113A0E6B for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 23 Oct 2020 07:45:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.749
X-Spam-Level:
X-Spam-Status: No, score=-2.749 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.25, MAILING_LIST_MULTI=-1, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=chromium.org
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 SveyjeeG7KTJ for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 23 Oct 2020 07:45:57 -0700 (PDT)
Received: from lyra.w3.org (lyra.w3.org [128.30.52.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 17D7E3A0E66 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Fri, 23 Oct 2020 07:45:56 -0700 (PDT)
Received: from lists by lyra.w3.org with local (Exim 4.92) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1kVyH2-0007zI-I1 for ietf-http-wg-dist@listhub.w3.org; Fri, 23 Oct 2020 14:42:32 +0000
Resent-Date: Fri, 23 Oct 2020 14:42:32 +0000
Resent-Message-Id: <E1kVyH2-0007zI-I1@lyra.w3.org>
Received: from mimas.w3.org ([128.30.52.79]) by lyra.w3.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <bnc@google.com>) id 1kVyH1-0007ya-0w for ietf-http-wg@listhub.w3.org; Fri, 23 Oct 2020 14:42:31 +0000
Received: from mail-ot1-x32b.google.com ([2607:f8b0:4864:20::32b]) by mimas.w3.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from <bnc@google.com>) id 1kVyGz-0007I6-CQ for ietf-http-wg@w3.org; Fri, 23 Oct 2020 14:42:30 +0000
Received: by mail-ot1-x32b.google.com with SMTP id e20so1534397otj.11 for <ietf-http-wg@w3.org>; Fri, 23 Oct 2020 07:42:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=pL4qElR9Njb7qaOrUrWY5ldeonQLcwmXZqtrc/mz0jI=; b=RAvv5xA0Mi4wg6MFfLqu4PuHsTRIVdAXTj782jlz5FQGDI4HrE+Dz000QTjhPdAfv9 4YAmgGLzBIRsiSU3YrWrDDhvBt95NkGHiNjBF6g/bsWEuzq2HRpwftuQ94gDH51LFeDv uD0LIqeFRgv6Jw97cyWBwFXTsgJBQExG3+QV0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=pL4qElR9Njb7qaOrUrWY5ldeonQLcwmXZqtrc/mz0jI=; b=c/853Z5kold1bw3Jon1shmRo45hzuB8tJ9W38rgvLYWjwh1S9wEI8ILSiOCFfomZFu P1njA9Z/K24NZpKdJrmoNOICNakFuKHuELZe4AVIh8+yqp18Y17xk5aD+oHlNQtGOakd bQuHzeeY7I12mAoIvY//J6PYxbciZjbsPfsi1eS2YhADfP225miCezEAlhBWGrFmYhHO aiZASbjYVcO9qV6uG7UiI0H4KKZutp7rr1/YtB+FWKg0r6Wxxnui5MTRO8/hqr+HY3oB 7Wkw7RNt7QwgD5NK/FowO2NmVvxcW2Kr7BQETcRb03y2JMt3vBCnmQuRwFQKSnYPcT/n ol/w==
X-Gm-Message-State: AOAM531fHwOdUwxVObnzlbBYehDKlztcbegjlf8vboSW/jmMqLMPMMu2 cFBXUkzv2WzDFzHhqDJ09+V5F26ExEOqv9GlghvVpQ==
X-Google-Smtp-Source: ABdhPJyBXFNEVK4q1FQYZlzr18HrjJll/F/QBM5PG1LvWQMpCYzwjkNDfLGLe27Ob3Dp3Q2qAn68weOksnGhsaBSbBM=
X-Received: by 2002:a9d:2050:: with SMTP id n74mr1734996ota.10.1603464138168; Fri, 23 Oct 2020 07:42:18 -0700 (PDT)
MIME-Version: 1.0
References: <20201023045426.GB4941@1wt.eu> <CACMu3tpPRzCnkbuTvEO9Tn5LQp+T++v21mDXU8fbn4JQHSSmaQ@mail.gmail.com>
In-Reply-To: <CACMu3tpPRzCnkbuTvEO9Tn5LQp+T++v21mDXU8fbn4JQHSSmaQ@mail.gmail.com>
From: Bence Béky <bnc@chromium.org>
Date: Fri, 23 Oct 2020 10:42:05 -0400
Message-ID: <CACMu3tr6UiZg9xy7Cs5JtL2w12wd8VekhYo5UvuGuQob6OFaaA@mail.gmail.com>
To: Willy Tarreau <w@1wt.eu>
Cc: HTTP Working Group <ietf-http-wg@w3.org>, Mike Bishop <mbishop@evequefou.be>, Eric Lawrence <Eric.Lawrence@microsoft.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Received-SPF: pass client-ip=2607:f8b0:4864:20::32b; envelope-from=bnc@google.com; helo=mail-ot1-x32b.google.com
X-W3C-Hub-Spam-Status: No, score=-12.3
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, USER_IN_DEF_SPF_WL=-7.5, W3C_AA=-1, W3C_IRA=-1, W3C_WL=-1
X-W3C-Scan-Sig: mimas.w3.org 1kVyGz-0007I6-CQ 5eb6bd365ccc97d4ae11ade3e456a411
X-Original-To: ietf-http-wg@w3.org
Subject: Re: H2 vs responses which should not carry any payload
Archived-At: <https://www.w3.org/mid/CACMu3tr6UiZg9xy7Cs5JtL2w12wd8VekhYo5UvuGuQob6OFaaA@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/38112
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: <https://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

Hi Willy,

Sorry, my previous e-mail was incorrect.  Chrome did run into some
issues with buggy servers, and a fix to those servers has been
deployed since.  Separately, the same bug is thought to exist in
WinHTTP.  However, WinHTTP is a client-only stack, so this should only
affect responses, not requests.  Which is exactly what you are worried
about.

Thanks to Mike Bishop for correcting me in private.

Also cc'ing Eric Lawrence who might have more details to share.

Bence

On Fri, Oct 23, 2020 at 7:45 AM Bence Béky <bnc@chromium.org> wrote:
>
> Hi Willy,
>
> On Fri, Oct 23, 2020 at 12:57 AM Willy Tarreau <w@1wt.eu> wrote:
> >
> >
> > And even then, do all implementations accept, say, a HEADERS frame with
> > no ES flag in response to a HEAD request, followed by an empty DATA frame
> > carrying the ES flag ? At the semantic level it's OK since there's no
> > payload, but I can understand how some could find it annoying to wait
> > for DATA frames when no payload is expected (it's our case as well as
> > part of the possible fixes for this).
> >
> >
>
> At some point during the GREASE experiments Chrome removed the
> END_STREAM flag from every HEADERS frame, then sent a frame of
> reserved type, then an empty DATA frame with END_STREAM, and I found
> that not every server accepts this.  To my best knowledge WinHTTP
> still fails to process such a request (ever without the reserved
> frame) if the request method is GET.  My interpretation of RFC7540 is
> that such a request is spec compliant, but in practice Chrome cannot
> send them at this point.  (The GREASE experiment continues only on
> requests with a request body.)
>
> Bence