HTTP Alternative Services That Do Not Support Desired Extensions
draft-pardue-alt-svc-ext-unsupported-00

Document Type Active Internet-Draft (individual)
Last updated 2020-07-13
Stream (None)
Intended RFC status (None)
Formats plain text html xml pdf htmlized (tools) htmlized bibtex
Stream Stream state (No stream defined)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date
Responsible AD (None)
Send notices to (None)
HTTP                                                           L. Pardue
Internet-Draft                                                Cloudflare
Intended status: Standards Track                            13 July 2020
Expires: 14 January 2021

    HTTP Alternative Services That Do Not Support Desired Extensions
                draft-pardue-alt-svc-ext-unsupported-00

Abstract

   This document describes an error case when an HTTP Alternative
   Service does not support the extension points of the original
   connection.  It defines an error code that can be used by endpoints
   to signal the encounter.

Discussion Venues

   This note is to be removed before publishing as an RFC.

   Discussion of this document takes place on the ALT Working Group
   mailing list (alt@ietf.org), which is archived at
   https://mailarchive.ietf.org/arch/browse/alt/
   (https://mailarchive.ietf.org/arch/browse/alt/).

   Source for this draft and an issue tracker can be found at
   https://github.com/LPardue/draft-pardue-alt-svc-ext-unsupported
   (https://github.com/LPardue/draft-pardue-alt-svc-ext-unsupported).

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on 14 January 2021.

Pardue                   Expires 14 January 2021                [Page 1]
Internet-Draft        Alt-Svc Extension Unsupported            July 2020

Copyright Notice

   Copyright (c) 2020 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents (https://trustee.ietf.org/
   license-info) in effect on the date of publication of this document.
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.  Code Components
   extracted from this document must include Simplified BSD License text
   as described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Conventions and Definitions . . . . . . . . . . . . . . . . .   3
   3.  Detecting and Signalling  . . . . . . . . . . . . . . . . . .   3
   4.  HTTP/2 Error Code . . . . . . . . . . . . . . . . . . . . . .   4
   5.  HTTP/3 Error Code . . . . . . . . . . . . . . . . . . . . . .   4
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   4
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   4
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   4
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .   4
     8.2.  Informative References  . . . . . . . . . . . . . . . . .   5
   Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . .   5
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .   5

1.  Introduction

   HTTP/2 ([HTTP2]) and HTTP/3 ([HTTP3]) provide several extension
   points, only some of which require negotiation before use.  For any
   HTTP connection that is actively using extensions, it is possible
   that the server might advertise an Alternative Service ([ALT-SVC])
   that contains no indication of whether the current extension points
   are supported by indicated server.  A client has to proactively
   engage with the Alternative in order to determine what extension
   points it supports, which will often require the client to establish
   a new transport-layer connection and HTTP handshake.  The client
   might determine that the Alternative does not support the same
   extensions as the current connection and decide to close the
   connection.  For an extension that is negotiated via SETTINGS frames,
   the client might be able to detect the lack of extensions early in
   the lifecycle.  For other forms of extension, the problem might not
   be detectable until later on, for instance when extension frame
   exchanges fail.

Pardue                   Expires 14 January 2021                [Page 2]
Internet-Draft        Alt-Svc Extension Unsupported            July 2020

   The guidance in [ALT-SVC] has lead to clients that are robust to
   different types of failures.  Following a "make-before-break"
   approach avoids active transfers being interupted by an opportunistic
Show full document text