Re: Declarative HTTP Spec Test Suite

Daniel Stenberg <daniel@haxx.se> Tue, 28 May 2024 06:18 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=ietf.org@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 D13FAC15171B for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 27 May 2024 23:18:51 -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, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.249, MAILING_LIST_MULTI=-1, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=w3.org header.b="lnvyZ0wK"; dkim=pass (2048-bit key) header.d=w3.org header.b="ULUHrF8z"
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GjP_L50InEc0 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 27 May 2024 23:18:47 -0700 (PDT)
Received: from mab.w3.org (mab.w3.org [IPv6:2600:1f18:7d7a:2700:d091:4b25:8566:8113]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AAD14C151532 for <httpbisa-archive-bis2Juki@ietf.org>; Mon, 27 May 2024 23:18:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=w3.org; s=s1; h=Subject:Content-Type:MIME-Version:References:Message-ID:In-Reply-To: cc:To:From:Date:Reply-To; bh=F21KulAvzdR2nkGYtjBuMqQxDduGHpI+jKoaBGiLpuU=; b= lnvyZ0wKXPrh8rs3pQw5Z4Hbdlk9NxxjywSVERVZ12L2HeuxGZ41Vpqw22vV8Za6CfLC2KJQC4rCs /o4u5uUJIgsWILifcwQO63XtcdFkuaXJcnnZkbfGA0cG7BNY3de+IGpvM4aEswGiLijVX28cgQH2f PWWi4cEZnA70HOpbOTUWH7o9r8QOstdPwHKYwOqTfH0ZK2mpQaCqqpzkBmd3n2D+ETsztVhj14NRz Hi3PZT1dHCgQ1QJbOhGjCnfCwtdWr9W4ehLyF1O2paRSQr+NJSORVlb2HOysxpIT2F/feo4FSwxAQ +WHR08cq96kOJRv+07e/h+J1t7Wz42eYjw==;
Received: from lists by mab.w3.org with local (Exim 4.96) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1sBq9d-00E9Jg-2O for ietf-http-wg-dist@listhub.w3.org; Tue, 28 May 2024 06:17:49 +0000
Resent-Date: Tue, 28 May 2024 06:17:49 +0000
Resent-Message-Id: <E1sBq9d-00E9Jg-2O@mab.w3.org>
Received: from ip-10-0-0-224.ec2.internal ([10.0.0.224] helo=puck.w3.org) by mab.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from <daniel@haxx.se>) id 1sBq9b-00E9Ik-2d for ietf-http-wg@listhub.w3.internal; Tue, 28 May 2024 06:17:47 +0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=w3.org; s=s1; h=Content-Type:MIME-Version:References:Message-ID:In-Reply-To:Subject: cc:To:From:Date:Reply-To; bh=F21KulAvzdR2nkGYtjBuMqQxDduGHpI+jKoaBGiLpuU=; t=1716877067; x=1717741067; b=ULUHrF8ze9Uno1upxbkrIGcsepRjQwqRUByX7naHS5fM3NL KpCJ5lpLscdTw24BwVYPqzB2CoDEWqbkQI9AbhehvsPwtYare1eulOQdcIiryclnQWjxyQiq4Zs7X wHD/YbvKnnTNtmDJNK06/v8FmrxaSQY21VoA4Mh8A4JtKnTq5QjLqAfOeZZiFpvbJnuFTobmJusmX CBzpbytyfesoa+H+e78Jh/ZzBaHqv9+v5mUoS22dt5ZxvyDKiUxI53dHZXPGtg6gm6TreccFj9iFl lm45/PLcLy3C1ZasoPLTEbOBWvIHefeNVoYcbds/zdcsUbm0OppI0P1X0W7renlA==;
Received-SPF: pass (puck.w3.org: domain of haxx.se designates 2a02:750:7:3305::2aa as permitted sender) client-ip=2a02:750:7:3305::2aa; envelope-from=daniel@haxx.se; helo=silly.haxx.se;
Received: from silly.haxx.se ([2a02:750:7:3305::2aa]) by puck.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from <daniel@haxx.se>) id 1sBq9a-001dyJ-2k for ietf-http-wg@w3.org; Tue, 28 May 2024 06:17:47 +0000
Received: by silly.haxx.se (Postfix, from userid 1001) id 349FD659EA; Tue, 28 May 2024 08:17:42 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1]) by silly.haxx.se (Postfix) with ESMTP id 330B980BC8; Tue, 28 May 2024 08:17:42 +0200 (CEST)
Date: Tue, 28 May 2024 08:17:42 +0200
From: Daniel Stenberg <daniel@haxx.se>
To: Mohammed Al Sahaf <mohammed@caffeinatedwonders.com>
cc: "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
In-Reply-To: <1FXVFW5A0xCTs9rXwXRVdjbxq-JtXQZhX50amFR4sWpwe_UaYxrswkQGsq5FD-WzmN0jdaCNEiGnzp6ToBS3HQz1CP9H99LZXiXzQqhJwH4=@caffeinatedwonders.com>
Message-ID: <p3n7qrp-4oq-757r-r9p8-78or4o4597r6@unkk.fr>
References: <tPxvQGS7_bxKqrFish00m9LtTT_JQfE0RU1bthEcxYNTZR_uzbkEWKNOTg9c5azoZSYuDWt9pLCiS7Kd4nIWK8DPN1sOtcgbDGx4L7BeeU4=@caffeinatedwonders.com> <6758o6r-8962-5nnq-q18p-59o7q9177rno@unkk.fr> <1FXVFW5A0xCTs9rXwXRVdjbxq-JtXQZhX50amFR4sWpwe_UaYxrswkQGsq5FD-WzmN0jdaCNEiGnzp6ToBS3HQz1CP9H99LZXiXzQqhJwH4=@caffeinatedwonders.com>
X-fromdanielhimself: yes
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"; format="flowed"
X-W3C-Hub-Spam-Status: No, score=-3.9
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, DMARC_MISSING=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: puck.w3.org 1sBq9a-001dyJ-2k b8802aac3c8d4cfc81e56b2afddf5775
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Declarative HTTP Spec Test Suite
Archived-At: <https://www.w3.org/mid/p3n7qrp-4oq-757r-r9p8-78or4o4597r6@unkk.fr>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/51975
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/email/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

On Mon, 27 May 2024, Mohammed Al Sahaf wrote:

> I hear you. But how do you reconcile the need to mimic non-compliant 
> behavior with behavior that varies across different agents?

Either we go with what we believe is the behavior that makes the most sense 
for our users, or in some unfortunate cases we add an option that pushes the 
decision to the user.

Like curl has the --ignore-content-length option to ignore for example 
negative Content-Length: headers. As some might remember, in the late 90s and 
early 00s it was not uncommon for HTTP/1 servers to respond with negative 
Content-Length: on "large files" and we had users who still needed to get the 
contents off such servers in spite of their obviously wrong header field 
contents.

> I also wonder what other areas are there differing behavior as this case and 
> what could be the impact, though they're likely edge-cases because no one 
> complained loudly yet.

I'm convinced every HTTP implementation has such areas as well as the things 
we fixed because someone complained loudly within our respective projects, but 
those shouts never triggered a later HTTP spec update. Or we fixed issues in 
one way twenty years ago and then later we updated the specs to say something 
marginally different than our original fixes did but we have not gone back and 
fixed the implementation since...

> I believe it'll be valuable to know the situations of "This is where X 
> differs from {the rest, RFC}". Maybe it's a bug in the implementation. Maybe 
> it's not an oversight, rather the devs have a good reason for sidestepping 
> that part of the spec. Maybe it's a bug in the spec. What I hope to achieve 
> with this is to shine a spotlight on the various implementations to find 
> those dark corners. It'd be like the [Can I Use](https://caniuse.com/) 
> comparison table.

I completely agree that it would be interesting and maybe even valuable.

It will certainly be helpful to any newcomers in the field.

-- 

  / daniel.haxx.se