Issue: ORIGIN and Server Push [#355]

Mark Nottingham <mnot@mnot.net> Tue, 30 May 2017 06:58 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 A49D6129B61 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 29 May 2017 23:58:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.001
X-Spam-Level:
X-Spam-Status: No, score=-7.001 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=mnot.net header.b=cuLZHXv+; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=a7lhhJu2
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 poO4VGK21Xwi for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 29 May 2017 23:58:10 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D0D441243F3 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Mon, 29 May 2017 23:58:10 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1dFb3U-0004WB-EK for ietf-http-wg-dist@listhub.w3.org; Tue, 30 May 2017 06:55:00 +0000
Resent-Date: Tue, 30 May 2017 06:55:00 +0000
Resent-Message-Id: <E1dFb3U-0004WB-EK@frink.w3.org>
Received: from titan.w3.org ([128.30.52.76]) by frink.w3.org with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <mnot@mnot.net>) id 1dFb3O-0004V5-Kf for ietf-http-wg@listhub.w3.org; Tue, 30 May 2017 06:54:54 +0000
Received: from new1-smtp.messagingengine.com ([66.111.4.221]) by titan.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <mnot@mnot.net>) id 1dFb3H-0007WD-5S for ietf-http-wg@w3.org; Tue, 30 May 2017 06:54:49 +0000
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailnew.nyi.internal (Postfix) with ESMTP id 684FD150C for <ietf-http-wg@w3.org>; Tue, 30 May 2017 02:54:24 -0400 (EDT)
Received: from frontend2 ([10.202.2.161]) by compute3.internal (MEProxy); Tue, 30 May 2017 02:54:24 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mnot.net; h= content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to:x-me-sender:x-me-sender:x-sasl-enc :x-sasl-enc; s=fm1; bh=/axyH2pMzM4oHpJZW0Fc21f22Yr1bJuiPKA8JlL8W Zo=; b=cuLZHXv+b5lwBJebd5v1pg4BT9TL6ORl7a6saIvNlRE6Pv8sYziDpdeUF Xjcr9p3kPlkRISLOnrxtvZrwlqsQ7zOojAn2KUd3CfNnFaNEzxHuQycWa9LCJptb UPwSpVKXW7qSy/n43v/lRvE+IKAJfkbznx1Ym+cW5rVwg9NdLQICjuPqytzXT/AK MLiW+HpFhyJms1FLfzTDGfbPotpDOZjezkURpduTDKf5BY5fPTBROh/WUDFp0OsK LbVeaq9cOKApbVVOo/PkGZHfYKWgeoln0E4Kd3W9naR8lmAYPlw5uG+udV9yLMe2 rFx3sPDvcbW+82qVjwA7K5AQ2AVKw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:message-id:mime-version:subject:to:x-me-sender :x-me-sender:x-sasl-enc:x-sasl-enc; s=fm1; bh=/axyH2pMzM4oHpJZW0 Fc21f22Yr1bJuiPKA8JlL8WZo=; b=a7lhhJu2fD/+tPQo5puRyN764zSR39MuQ6 eYy6XhV8uv0XduMOaxs6cJ75wi3ZTeJqRamMkC1bRvoIjywRWxejVmwJ3UBKfeWS 2SG8Gzu1TUvtgZ7AckEFGEuJSEBqRPpm+jCu5s+ZMX/GxMS1hnBpE85/yynVQSF4 IKvwnQ5vTokqd5HieR+ujrDdwg8KrjrS0uDwNkPD4dQXt+aa+rt7Pji3m66o0Esy K751shn3IEMrZajzGgcJpjSMW2tQX5o3HdzQB2Hy2bShhUHLrGT8sC+Nxszwqobj Q4SAofsFEXNO3DQe6H9pe/ZLExXJUGtVbS0NmHd+BABtMPYV3rGw==
X-ME-Sender: <xms:HxctWU5WfZ1D4fZEA3WSIG81eQrna8k_yiuAtOjCKobGvua2Aui8fQ>
X-Sasl-enc: uCfwBNgPamLjSRb+qFEkrZ+vVGrHygNHi4/f7hCzYf/W 1496127263
Received: from [192.168.1.18] (cpe-124-188-19-231.hdbq1.win.bigpond.net.au [124.188.19.231]) by mail.messagingengine.com (Postfix) with ESMTPA id BA1D724407 for <ietf-http-wg@w3.org>; Tue, 30 May 2017 02:54:22 -0400 (EDT)
From: Mark Nottingham <mnot@mnot.net>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\))
Message-Id: <F8D3C0FD-886A-4558-8F5C-5B822F27269F@mnot.net>
Date: Tue, 30 May 2017 16:54:19 +1000
To: ietf-http-wg@w3.org
X-Mailer: Apple Mail (2.3273)
Received-SPF: pass client-ip=66.111.4.221; envelope-from=mnot@mnot.net; helo=new1-smtp.messagingengine.com
X-W3C-Hub-Spam-Status: No, score=-9.7
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, W3C_AA=-1, W3C_DB=-1, W3C_IRA=-1, W3C_IRR=-3, W3C_WL=-1
X-W3C-Scan-Sig: titan.w3.org 1dFb3H-0007WD-5S 4fb454fe56658bad6eed5a022ed4901b
X-Original-To: ietf-http-wg@w3.org
Subject: Issue: ORIGIN and Server Push [#355]
Archived-At: <http://www.w3.org/mid/F8D3C0FD-886A-4558-8F5C-5B822F27269F@mnot.net>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/33961
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: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

I created a new issue:
  https://github.com/httpwg/http-extensions/issues/355

#349 made me realise that, from the server's perspective, they don't have hard information about whether the client supports ORIGIN at the time they send the ORIGIN frame.

While they might gather this based upon the requests that the client subsequently sends, this isn't information you'd want to rely upon.

This is especially relevant to Server Push. Right now, ORIGIN is defined to affect what the client is able to push, but (as above), the server doesn't have a firm idea about the origins that are actually valid to use on the connection at any given time.

A number of potential solutions:

1. The server just speculatively pushes and figures it out based upon the responses (i.e. no change)

2. We create an explicit signal from the client to the server (e.g., "I will process ORIGIN", probably a SETTING, or "I have processed ORIGIN", probably a frame)

3. ORIGIN doesn't constrain Server Push

Note that 1 is not optimal (wasted bytes), and 3 might collide badly with future uses of ORIGIN.


--
Mark Nottingham   https://www.mnot.net/