draft-ietf-httpbis-http2-encryption-10: 2.3. The "http-opportunistic" well-known URI / cache-control

Kari Hurtta <hurtta-ietf@elmme-mailer.org> Sat, 04 February 2017 09:50 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 []) by ietfa.amsl.com (Postfix) with ESMTP id B787812969E for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sat, 4 Feb 2017 01:50:25 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.12
X-Spam-Status: No, score=-10.12 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-3.199, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id 7cYdEqGNQBDF for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sat, 4 Feb 2017 01:50:24 -0800 (PST)
Received: from frink.w3.org (frink.w3.org []) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5302712957A for <httpbisa-archive-bis2Juki@lists.ietf.org>; Sat, 4 Feb 2017 01:50:24 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1cZwvx-0006M9-AK for ietf-http-wg-dist@listhub.w3.org; Sat, 04 Feb 2017 09:47:05 +0000
Resent-Date: Sat, 04 Feb 2017 09:47:05 +0000
Resent-Message-Id: <E1cZwvx-0006M9-AK@frink.w3.org>
Received: from titan.w3.org ([]) by frink.w3.org with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <khurtta@welho.com>) id 1cZwvr-0006LO-VN for ietf-http-wg@listhub.w3.org; Sat, 04 Feb 2017 09:46:59 +0000
Received: from welho-filter2.welho.com ([]) by titan.w3.org with esmtp (Exim 4.84_2) (envelope-from <khurtta@welho.com>) id 1cZwvk-00042c-HC for ietf-http-wg@w3.org; Sat, 04 Feb 2017 09:46:54 +0000
Received: from localhost (localhost []) by welho-filter2.welho.com (Postfix) with ESMTP id D7A691D29E; Sat, 4 Feb 2017 11:46:24 +0200 (EET)
X-Virus-Scanned: Debian amavisd-new at pp.htv.fi
Received: from welho-smtp1.welho.com ([IPv6:::ffff:]) by localhost (welho-filter2.welho.com [::ffff:]) (amavisd-new, port 10024) with ESMTP id O9cvzrgaJg5A; Sat, 4 Feb 2017 11:46:23 +0200 (EET)
Received: from hurtta09lk.keh.iki.fi (89-27-35-245.bb.dnainternet.fi []) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by welho-smtp1.welho.com (Postfix) with ESMTPS id B2E65C4; Sat, 4 Feb 2017 11:46:23 +0200 (EET)
In-Reply-To: <CABkgnnVBCj3LGNM6UH51okP9TQrxEmJwnXbg62qq9ex3fH-Xog@mail.gmail.com>
References: <CABkgnnVBCj3LGNM6UH51okP9TQrxEmJwnXbg62qq9ex3fH-Xog@mail.gmail.com>
To: HTTP working group mailing list <ietf-http-wg@w3.org>
Date: Sat, 4 Feb 2017 11:46:23 +0200 (EET)
Sender: hurtta@hurtta09lk.keh.iki.fi
From: Kari Hurtta <hurtta-ietf@elmme-mailer.org>
CC: Kari Hurtta <hurtta-ietf@elmme-mailer.org>
X-Mailer: ELM [version ME+ 2.5 PLalpha44+]
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="US-ASCII"
Message-Id: <20170204094624.D7A691D29E@welho-filter2.welho.com>
Received-SPF: none client-ip=; envelope-from=khurtta@welho.com; helo=welho-filter2.welho.com
X-W3C-Hub-Spam-Status: No, score=-4.1
X-W3C-Hub-Spam-Report: AWL=-0.154, BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: titan.w3.org 1cZwvk-00042c-HC 0500a1dad32f9ba318683c678d2aac58
X-Original-To: ietf-http-wg@w3.org
Subject: draft-ietf-httpbis-http2-encryption-10: 2.3. The "http-opportunistic" well-known URI / cache-control
Archived-At: <http://www.w3.org/mid/20170204094624.D7A691D29E@welho-filter2.welho.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/33441
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>

Answer of this can be probably deduced from current text and I
do not suggest changes to text.

2.3.  The "http-opportunistic" well-known URI

|   This specification defines the "http-opportunistic" well-known URI
|   [RFC5785].  A client is said to have a valid http-opportunistic
|   response for a given origin when:
|   o  The client has requested the well-known URI from the origin over
|      an authenticated connection and a 200 (OK) response was provided,
|      and
|   o  That response is fresh [RFC7234] (potentially through revalidation
|      [RFC7232]), and
|   o  That response has the media type "application/json", and
|   o  That response's payload, when parsed as JSON [RFC7159], contains
|      an array as the root, and
|   o  The array contains a string that is a case-insensitive character-
|      for-character match for the origin in question, serialised into
|      Unicode as per Section 6.1 of [RFC6454].

|   Allowing clients to cache the http-opportunistic resource means that
|   all alternative services need to be able to respond to requests for
|   "http" resources.  A client is permitted to use an alternative
|   service without acquiring the http-opportunistic resource from that
|   service.
|   A client MUST NOT use any cached copies of an http-opportunistic
|   resource that was acquired (or revalidated) over an unauthenticated
|   connection.  To avoid potential errors, a client can request or
|   revalidate the http-opportunistic resource before using any
|   connection to an alternative service.  no-store

|   The "no-store" request directive indicates that a cache MUST NOT
|   store any part of either this request or any response to it.  This
|   directive applies to both private and shared caches.  "MUST NOT
|   store" in this context means that the cache MUST NOT intentionally
|   store the information in non-volatile storage, and MUST make a
|   best-effort attempt to remove the information from volatile storage
|   as promptly as possible after forwarding it.

If alternative servers uses

       :status = 200
       content-type = application/json
       cache-control = no-store
   [ "http://www.example.com", "http://example.com" ]

on all /.well-known/http-opportunistic responses, can server assume 
that client probes chosen alternative service for
/.well-known/http-opportunistic before starting using it.

2.1.  Alternative Server Opt-In

|   purposes of {RFC7838}}.  In addition to authenticating the server,
|   the client MUST have obtained a valid http-opportunistic response for
|   an origin (as per Section 2.3) using the authenticated connection.

In other words is client allowed use http-opportunistic response
from another alternative service for that purpose, when response
was cache-control = no-store ? 

I think that it is not possible to use response from another
alternative service on that case and therefore cache-control = no-store
implies that client must retrieve /.well-known/http-opportunistic
from chosen alternative service.

But of course I can be wrong.

/ Kari Hurtta

( Seems that "alternative server" and "alternative service"
  are used on interchangeably. )