Re: [Wish] should we remove the support for http redirections on initial PUT request?

Matt Ward <mattward@mux.com> Mon, 13 September 2021 17:07 UTC

Return-Path: <mattward@mux.com>
X-Original-To: wish@ietfa.amsl.com
Delivered-To: wish@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EBD9D3A0C18 for <wish@ietfa.amsl.com>; Mon, 13 Sep 2021 10:07:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=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=mux.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 SGU32Jzu_nC2 for <wish@ietfa.amsl.com>; Mon, 13 Sep 2021 10:07:16 -0700 (PDT)
Received: from mail-oi1-x22d.google.com (mail-oi1-x22d.google.com [IPv6:2607:f8b0:4864:20::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 15BE23A0C15 for <wish@ietf.org>; Mon, 13 Sep 2021 10:07:15 -0700 (PDT)
Received: by mail-oi1-x22d.google.com with SMTP id j66so2866497oih.12 for <wish@ietf.org>; Mon, 13 Sep 2021 10:07:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mux.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=srJvvQHNG8aZyyfcEOmX8X71rvQfCjgteyHdE/eqRjg=; b=AKEg5Yg0kL0rRVqfL4Osu6lslJJQo9/5y68VYFDhJ8PXg5usl+FEsqdD/+e9VwUrfN bX0wRoMuBWGZeXbD7a+ghHJ6bnkhneXWiHZc+8sg5mVyCwT+U/plKfc/yNBaBslCmaDI nT6a2ujb7sNL3amROVcw1DHnWzHAy65m7GYQk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=srJvvQHNG8aZyyfcEOmX8X71rvQfCjgteyHdE/eqRjg=; b=2zBEXJ6pchgJjJJRhAYV0deG2gqHLD/z0SlFkFpQ4HRBqNDzTTdRRCyfMcOcizOYLB 6YYA/xsQ+Ga7jL8s5vqRs7M6ysqWqwuM/NN/MzplcBj7sQLTgdQlA8ScAymZs4uLQlV7 xBVJzRIiB4jgHnHsq36Z4Nm+j8SCyCehHeiBJMwG3oxp/jOCVqAC44FWEt7MRIpGdUMN 6RWARJhAuY0U2vVuxZV16yYbOS/2zczu5CdiLd0wfvFcnR68VzGEAjtd1whECfwIE1bH BlPS+yD8d7mf90NaOzYmlLjj01yPGDn9i7u4ps8ZOsl5nTx9K7+YVuQDB0o7gaqacXTy TTnA==
X-Gm-Message-State: AOAM531ijt5bzzci7sfZoj2nOyjv6u2Zc+02boLOMH7hRctXjdjDXL6D AFp85GkA+Lrd6jMEg+Fpcfim4E1zbvmVYxDt0ztwWw==
X-Google-Smtp-Source: ABdhPJzAaFonULpnn0zdX3HuMeh5Q5E2gykE8ybfsM8LILqaF2q8XGT4/7IkehlkwuXdl/pNBLnuPQWZETi7Enab+RY=
X-Received: by 2002:aca:b2c4:: with SMTP id b187mr8776291oif.90.1631552832878; Mon, 13 Sep 2021 10:07:12 -0700 (PDT)
MIME-Version: 1.0
References: <CA+ag07ZM3_UYYSZpRuyJ0ONy9g_C3sYYXVSqVEk-SdUK9tcPOQ@mail.gmail.com> <87fsu8foia.wl-jch@irif.fr>
In-Reply-To: <87fsu8foia.wl-jch@irif.fr>
From: Matt Ward <mattward@mux.com>
Date: Mon, 13 Sep 2021 10:07:02 -0700
Message-ID: <CAABnt0Pr758_1dXnxUq1iD8br-9L6ktHvPGVj4FQBAxXi0iW6g@mail.gmail.com>
To: Juliusz Chroboczek <jch@irif.fr>
Cc: Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com>, WISH List <wish@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000094c8a05cbe37fa6"
Archived-At: <https://mailarchive.ietf.org/arch/msg/wish/T21aExcQJlwCBnI42FTBP6DL7d4>
Subject: Re: [Wish] should we remove the support for http redirections on initial PUT request?
X-BeenThere: wish@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: WebRTC Ingest Signaling over HTTPS <wish.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/wish>, <mailto:wish-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/wish/>
List-Post: <mailto:wish@ietf.org>
List-Help: <mailto:wish-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/wish>, <mailto:wish-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 13 Sep 2021 17:07:21 -0000

I think this decision to require 307 support in a client is trading off
client and server complexity. I think the place to start answering this
question is to empathize with a couple different server architectures.

1- All-in-One - In this case all the pieces are bundled into a single
server. This means the WHIP endpoint/resource and the media server all
reside in a single process/process tree. Scaling is done by moving to
larger machines as Juliusz mentions they have done successfully. In this
case, a 307 from one server to another server makes scaling a bit easier.

2- Decoupled - In this case, the WHIP endpoint and media server are
decoupled and scaled independently. The WHIP endpoint is basically load
balanced the way most people approach this for API servers. In handling the
request for the WHIP endpoint, a media server is allocated + SDP crafted
directly in the WHIP endpoint. This allocation and SDP reply pointing to
the correct media server is the load balancing layer for this system and
therefore a 307 is not necessary.

I'd expect a lot of implementations to follow closer to architecture 1 than
2, as this more closely aligns with what we see today in the open source
SFU space. If we believe this, we may desire keeping the 307 support. Web
browsers support this without any additional effort (fetch follows
redirects just fine. Native clients may have a more diverse set of HTTP
stacks, but most of the iOS + Android apps I have worked on have no problem
at all following 307s.

On Mon, Sep 13, 2021 at 9:07 AM Juliusz Chroboczek <jch@irif.fr> wrote:

> > However, http clients are not handling the redirection automatically as
> it is a
> > PUT request with body and not a GET request. I am not sure if supporting
> this
> > makes much sense anymore, does anyone plan to use it or we should remove
> it
> > from the draft?
>
> Galene's native protocol supports redirecting a login to a different
> server, which is useful when migrating a group between servers.  We have
> found this useful when a seminar during lockdown turned out to be more
> popular than expected, and we needed to do a last-minute migration to
> a larger server.
>
> Perhaps we should be doing load-balancing at a lower level, but the
> ability to redirect the initial request is something I'm definitely going
> to implement.  On the other hand, I'd have no objection to requiring that
> the client resend the initial request when it gets redirected.
>
> -- Juliusz
>
> --
> Wish mailing list
> Wish@ietf.org
> https://www.ietf.org/mailman/listinfo/wish
>