Re: [httpapi] RateLimit Header client implementations
Alex Martinez <amr@redhat.com> Wed, 13 January 2021 17:47 UTC
Return-Path: <amartine@redhat.com>
X-Original-To: httpapi@ietfa.amsl.com
Delivered-To: httpapi@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 68C5F3A0EBB for <httpapi@ietfa.amsl.com>; Wed, 13 Jan 2021 09:47:02 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.369
X-Spam-Level:
X-Spam-Status: No, score=-2.369 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.25, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=redhat.com
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 g4g1yRJ7ZlxH for <httpapi@ietfa.amsl.com>; Wed, 13 Jan 2021 09:47:00 -0800 (PST)
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 832BF3A1216 for <httpapi@ietf.org>; Wed, 13 Jan 2021 09:47:00 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1610560019; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=O/0/I3r2x0gomKbxxV9lPOgj8QTYSB/RZY4/gWSXYqk=; b=Kq7IbforAGjs/+xqKUoplg/n/h8G41VCPYuAvuBPl7mJdd+Td4F10xvawdn69aDU0HV1C/ peLYTouHh3gXcqp+mXbBAahTMPn7iaCi/GJ0p+toPnC6gC+j47r25KMVQKYwXHsZzn522m JkPflKlcUwKxU3JT59Gp/LBiBEAnAUg=
Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-393-xUHJue2kN_uKvusFnTUmKQ-1; Wed, 13 Jan 2021 12:46:57 -0500
X-MC-Unique: xUHJue2kN_uKvusFnTUmKQ-1
Received: by mail-qt1-f198.google.com with SMTP id 22so1957724qty.14 for <httpapi@ietf.org>; Wed, 13 Jan 2021 09:46:57 -0800 (PST)
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; bh=O/0/I3r2x0gomKbxxV9lPOgj8QTYSB/RZY4/gWSXYqk=; b=cUcTiPf7LjBzJ6ybuqHsPu19cAxmsNWUlemjc8G1UQ1kUVkIr9txe6qqqNN7kV+/AV HMnq7BkRrUaHCxtvGBRX36Z1ICBtel+ghXkn6Z+96cMz1OrRDRJEXbYwbjiDQfe5YVeC n/bCL87efsCD9qp92gtjjqfpDhSv+5Ffig1Es7dZfpLqP2OQFyy917PWMqfZ4AgvTcpJ 6w5mYo+HB+viXDnxCEnFO/0A1FRvO1NGuVHEQdLDHiFnQZoN6C3B1MpeZaKPOKRAfdJJ lsAkNyNHYm7BfZelpDVAZPxwZmG+GIDzAmrzcxtal/V2/BdEpC7C+P70KB7RSO3zll40 o+jg==
X-Gm-Message-State: AOAM531II7pAxY6Y/O4PTyW9vx3t6yRzKYjiFOV7ggbYnbGBvOrXxUy+ lcUM3kvQgQbJOI5tEWKn0FXu5jnHPWglUWeaZY1Ko7EZyVYAFvoGZ1HxkOFGl+UAtLmevmpwYgm Mt6TVwTEjACl2VMAh7TXJNUYL
X-Received: by 2002:a25:a029:: with SMTP id x38mr5063133ybh.105.1610560016568; Wed, 13 Jan 2021 09:46:56 -0800 (PST)
X-Google-Smtp-Source: ABdhPJxctXGDj82+yn5AWqD8zEKUMeL3uKmDOpXJ7+5LHBezy1BZauWfVXgYBUT32hSLpbaBXoNGaRBuZFCDd+hOhB4=
X-Received: by 2002:a25:a029:: with SMTP id x38mr5063099ybh.105.1610560016323; Wed, 13 Jan 2021 09:46:56 -0800 (PST)
MIME-Version: 1.0
References: <DM6PR01MB49370264EE9621D603FEAA81A3D70@DM6PR01MB4937.prod.exchangelabs.com> <CALmQWfiw+1DJ20=3A5JYNVziS9zvttEOTNFuEZE2y83AbZSrYQ@mail.gmail.com> <BY5PR00MB0837209B7CFF3687EFCD1580F0D19@BY5PR00MB0837.namprd00.prod.outlook.com> <CALmQWfimVnaf4T+bhF2ZjHM8A6pSFsPurt2gxkN41zWfYkr89Q@mail.gmail.com> <DM6PR00MB0848E28FDF172BCC02F718E6F0AC9@DM6PR00MB0848.namprd00.prod.outlook.com>
In-Reply-To: <DM6PR00MB0848E28FDF172BCC02F718E6F0AC9@DM6PR00MB0848.namprd00.prod.outlook.com>
From: Alex Martinez <amr@redhat.com>
Date: Wed, 13 Jan 2021 17:46:45 +0000
Message-ID: <CALmQWfjjJvXZAw30+eAw2YOD1C9wEfn5WcXWrFMH-ESbnGcvaw@mail.gmail.com>
To: Darrel Miller <Darrel.Miller@microsoft.com>
Cc: "darrel@tavis.ca" <darrel@tavis.ca>, "httpapi@ietf.org" <httpapi@ietf.org>, "robipolli@gmail.com" <robipolli@gmail.com>
Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=amartine@redhat.com
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Type: multipart/alternative; boundary="000000000000a9b62e05b8cbb91a"
Archived-At: <https://mailarchive.ietf.org/arch/msg/httpapi/Ks7Nd7bLMvSQ0DctMyK71RCXR-k>
Subject: Re: [httpapi] RateLimit Header client implementations
X-BeenThere: httpapi@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Building Blocks for HTTP APIs <httpapi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/httpapi>, <mailto:httpapi-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/httpapi/>
List-Post: <mailto:httpapi@ietf.org>
List-Help: <mailto:httpapi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/httpapi>, <mailto:httpapi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Jan 2021 17:47:02 -0000
Hi Darrel, On Sun, Jan 10, 2021 at 4:27 PM Darrel Miller <Darrel.Miller@microsoft.com> wrote: > Alex, > > Thanks for the additional context. > > You are right, the immediate effect is the same. That said, you would be > lacking some extra information about the nominal quota units and duration > of the current window and the windows applying after this one is elapsed > (ie. after recovery you'd have information about the expected rates, and > those could also signal some sort of punitive policy), though that > information might be next to useless in the current window since the > intended effect is to stop traffic altogether for a while. Yet it would not > work in a closely related scenario in which you would have some partial > maintenance work but keeping the ability to serve clients in a degraded > service manner -- that is, unless you kept giving clients shorter > no-service windows interleaved with service responses as usual, hence > generating a lot more wasteful traffic. > > Would be useful to clarify that these additional headers are intended to > support scenarios where rate limiting constraints applied by a service are > dynamic over time? > Sure, we can look into clarifying this - perhaps my own reading of the document makes this obvious to me having worked on rate limiting stuff for some time. > Yes, I believe that because there is no standardization there's been > little to no effort in writing such adaptive code in generic HTTP clients, > but this is pure speculation. I think it is very likely that most people > doing so are the ones writing service specific clients, and in many cases > they could be the same people that wrote the service in the first place, > unless the service happens to see lots of usage across the board with many > independent clients. > > I look forward to seeing some feedback from implementers on the value > derived from generic client code that handles these headers. > Understandably these don't exist yet - the easy thing to do is implementing support for these in servers that do some sort of rate limiting or integrate with a component that does, and that's why most (all?) of the implementations we know of are server code. I also look forward to the possibilities in clients, and it would be great to have basic support in the most commonly used HTTP client libraries, but admittedly the implementation work is not trivial. I don't really know whether such projects would go for an I-D even if it's already on the standards track, but we can certainly ask! Cheers, Alex >
- [httpapi] RateLimit Header client implementations Darrel Miller
- Re: [httpapi] RateLimit Header client implementat… Roberto Polli
- Re: [httpapi] RateLimit Header client implementat… Alex Martinez
- Re: [httpapi] RateLimit Header client implementat… Darrel Miller
- Re: [httpapi] RateLimit Header client implementat… Alex Martinez
- Re: [httpapi] RateLimit Header client implementat… Darrel Miller
- Re: [httpapi] RateLimit Header client implementat… Alex Martinez
- Re: [httpapi] RateLimit Header client implementat… Roberto Polli