alt-svc and proxies

Piotr Galecki <> Mon, 04 January 2016 03:37 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 388391B2A59 for <>; Sun, 3 Jan 2016 19:37:35 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -6.912
X-Spam-Status: No, score=-6.912 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id JDbfhw2DQrOj for <>; Sun, 3 Jan 2016 19:37:34 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id E20261A88F7 for <>; Sun, 3 Jan 2016 19:37:33 -0800 (PST)
Received: from lists by with local (Exim 4.80) (envelope-from <>) id 1aFvtS-00018P-TT for; Mon, 04 Jan 2016 03:33:14 +0000
Resent-Date: Mon, 04 Jan 2016 03:33:14 +0000
Resent-Message-Id: <>
Received: from ([]) by with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <>) id 1aFvtN-00017c-QZ for; Mon, 04 Jan 2016 03:33:09 +0000
Received: from ([]) by with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.80) (envelope-from <>) id 1aFvtM-0001dk-A1 for; Mon, 04 Jan 2016 03:33:09 +0000
Received: from MBX021-W3-CA-2.exch021.domain.local ([]) by HUB021-CA-4.exch021.domain.local ([]) with mapi id 14.03.0266.001; Sun, 3 Jan 2016 19:32:39 -0800
From: Piotr Galecki <>
To: HTTP Working Group <>
Thread-Topic: alt-svc and proxies
Thread-Index: AQHRRqAd6t9qQxJyC0ajN3wfUaiTTQ==
Date: Mon, 04 Jan 2016 03:32:39 +0000
Message-ID: <2C515BE8694C6F4B9B6A578BCAC32E2F6D538FCC@MBX021-W3-CA-2.exch021.domain.local>
Accept-Language: en-US
Content-Language: en-US
x-originating-ip: []
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Received-SPF: pass client-ip=;;
X-W3C-Hub-Spam-Status: No, score=-4.6
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: 1aFvtM-0001dk-A1 f5296e4c67f16538529dabba1fd496cb
Subject: alt-svc and proxies
Archived-At: <>
X-Mailing-List: <> archive/latest/30846
Precedence: list
List-Id: <>
List-Help: <>
List-Post: <>
List-Unsubscribe: <>

When reviewing the alt-svc draft it is not entirely clear to me from the draft how proxies should process Alt-Svc headers and
how they should behave when a response with the Alt-Svc header is received.
This should be defined.

IMO Alt-Svc header support should be required from proxies going forward.
Proxies should behave in the same/similar way as clients in respect to Alt-Svc headers.
They should cache information about alternative service available
and use the alt service for subsequent requests to origin.
Forward proxies supporting alternative services should also remove Alt-Svc headers
when forwarding a response to client.
This is because the protocol used for the client to proxy connection is defined (by user or WPAD) in proxy configuration settings
and it should not be modified by the alternative service header.

I'd like to propose the following changes:

- change "client" to "client (or intermediary)" in the text throughout the draft wherever appropriate

- possibly to section 2.4 or other add text:
  "Intermediaries when receiving a response with Alt-Svc header SHOULD cache the availability of the alternative service
   and use the alt service when forwarding subsequent requests to the origin,  provided the alternative service information is fresh.
   In order to continue using the user (or WPAD) configured protocol for the client to proxy connection
   forward proxies supporting alternative services SHOULD remove Alt-Svc header when forwarding a response to client."