Re: [quicwg/base-drafts] NUM_PLACEHOLDERS MUST NOT be zero (#2753)

Kazuho Oku <> Wed, 05 June 2019 11:03 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 9F45912063B for <>; Wed, 5 Jun 2019 04:03:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -8.008
X-Spam-Status: No, score=-8.008 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_IMAGE_ONLY_32=0.001, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id aiU_-XEj5V5X for <>; Wed, 5 Jun 2019 04:03:01 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id AF9F012008A for <>; Wed, 5 Jun 2019 04:03:01 -0700 (PDT)
Date: Wed, 05 Jun 2019 04:03:00 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1559732580; bh=IVcA0/gHJnkS5xcQL+N3msUbBfqnbqY+X863rRCNrWs=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=H73MTVtcpZX9zuXBZOtraVL1Q4O/7EqLBp3Tz94LqBEcKri+Mi/UR2aHWt0Iol/+t KlGd674wJrYRLNY4LaJZNc/HZ8rH78miSuHIR/4noJhVZX3MXnNMWtuNoJD+pUaq3m aLbjNwr7kgODbW80Kn9xdh3KGWk7rqaaGIw8Z+nU=
From: Kazuho Oku <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/issues/2753/>
In-Reply-To: <quicwg/base-drafts/issues/>
References: <quicwg/base-drafts/issues/>
Subject: Re: [quicwg/base-drafts] NUM_PLACEHOLDERS MUST NOT be zero (#2753)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5cf7a1648ed51_35693f9f4accd96c1054b0"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: kazuho
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
Archived-At: <>
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 05 Jun 2019 11:03:04 -0000

> Do you mean placeholders are no longer needed if we bring back the exclusive bit __AND allow streams to depend on other streams__?

Correct. IIUC, the context is if the browsers need to use a placeholder under current scheme (that already allows a stream to depend on another) with the exclusive bit being revived.

Let me be precise.

I think there is a rough consensus that a ideal tree looks like:

  +- JS1 (blocking)
      +- CSS1 (blocking)
        +- CSS2 (blocking)
            +- image1 (weight=X)
            +- image2 (weight=X)
            +- image3 (weight=X)
            +- image4 (weight=X)

HTML could be either within the root and JS1, or within CSS2 and image1.

The other thing that is missing in the chart above are the the asynchronously loaded scripts and CSS files. However, we could argue that prioritization of them is not important, as long as it receives comparable or less bandwidth than the images.

If we agree on that, there is no "need" for browsers to use placeholders (or idle streams as placeholders), neither in the HTTP/2 prioritization tree nor the current HTTP/3 scheme with the exclusive bit being revived.

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub: