Internet DRAFT - draft-loreto-httpbis-proxy20

draft-loreto-httpbis-proxy20






HTTPBis Working Group                                          S. Loreto
Internet-Draft                                                   R. Skog
Intended status: Informational                                  H. Spaak
Expires: April 24, 2014                                         Ericsson
                                                                D. Druta
                                                               M. Hafeez
                                                                    AT&T
                                                        October 21, 2013


                         2.0 Proxy in HTTP/2.0
                    draft-loreto-httpbis-proxy20-01

Abstract

   This document defines and clarifies the role of proxies (aka
   intermediaries) in HTTP 2.0.  It aims to assure that HTTP 2.0
   contains the same proxy features present in HTTP 1.1.  It also
   defines HTTP 2.0 proxies and advocates the importance and the
   benefits that they can provide for HTTP 2.0.  This document aims to
   start the discussion within the HTTPBis wg.

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 http://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 April 24, 2014.

Copyright Notice

   Copyright (c) 2013 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
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents



Loreto, et al.           Expires April 24, 2014                 [Page 1]

Internet-Draft               HTTP/2.0 Proxy                 October 2013


   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  . . . . . . . . . . . . . . . . . . . . . . . . . 3
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 4
   3.  Current Proxy usages  . . . . . . . . . . . . . . . . . . . . . 4
   4.  HTTP 2.0 Proxy  . . . . . . . . . . . . . . . . . . . . . . . . 5
     4.1.  HTTP 2.0 Proxy Features . . . . . . . . . . . . . . . . . . 5
     4.2.  2.0 Proxy: discovery mechanisms . . . . . . . . . . . . . . 6
   5.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 6
   6.  References  . . . . . . . . . . . . . . . . . . . . . . . . . . 6
     6.1.  Normative References  . . . . . . . . . . . . . . . . . . . 6
     6.2.  Informative References  . . . . . . . . . . . . . . . . . . 7
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . . . 7































Loreto, et al.           Expires April 24, 2014                 [Page 2]

Internet-Draft               HTTP/2.0 Proxy                 October 2013


1.  Introduction

   Proxies (aka intermediaries) are an important part of existing HTTP
   deployments; they both significantly help to support and improve the
   scalability needs of the Web. Large enterprise deployments are
   leveraging proxies in their architecture and home networking
   solutions depend on intermediaries in order to connect to the
   internet.  These are just two examples of the use cases relying on
   intermediaries and the current deployment scale will demand increased
   compatibility with existing and future services.  However till now
   little effort has been spent to define and clarify the role
   intermediaries play in HTTP 2.0.

   This draft aims to assure that HTTP/2.0 contains the same proxy
   features present in HTTP/1.1 [I-D.ietf-httpbis-p1-messaging],
   [RFC2616] and [RFC2817].

   This draft also advocates the importance and the benefits that
   proxies can provide for HTTP/2.0 and aims to start a discussion on
   this topic within the HTTPBis wg.  Caching is not addressed in this
   initial version of the document.

   A Proxy is defined in HTTP/1.1 is a

      "a message forwarding agent that is selected by the client,
      usually via local configuration rules, to receive requests for
      some type(s) of absolute URI and attempt to satisfy those requests
      via translation through the HTTP interface."

   A proxy acts as a server and a client for the purpose of making
   requests on behalf of the client.  The requests can be serviced
   internally (i.e. if the Proxy also implement a cache) or by passing
   them on to the origin server.

      Proxies are often used to group an organization's HTTP requests
      through a common intermediary for the sake of security, annotation
      services, or shared caching.

   Moreover Proxies can improve the Quality of Experience (QoE) in
   particular scenarios, such as in a mobile network.

   There are important Proxy uses cases currently used in HTTP 1.1 and
   most likely they will be also important for 2.0 (see Section 3).
   There are also Proxy use cases that will be 2.0 specific (see Section
   4).

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this



Loreto, et al.           Expires April 24, 2014                 [Page 3]

Internet-Draft               HTTP/2.0 Proxy                 October 2013


   document are to be interpreted as described in [RFC2119].


2.  Terminology

   HTTP1.1 [I-D.ietf-httpbis-p1-messaging] defines three form of
   intermediaries:

   Transforming proxy:  Is designed and configured to modify request or
      response messages in a semantically meaningful way.  Such
      transformation is presumed to be desired by the client that
      selected the proxy.

   Gateway (a.k.a., reverse proxy):  is an intermediary that acts as an
      origin server for the outbound connection, but translates received
      requests and forwards them inbound to another server or servers.

      Gateways also include proxies that transform requests from one
      transport protocol to another, e.g. as in WAP (Wireless
      Application Protocol) gateways which transformed WAP1 transport to
      HTTP 1.1.  For HTTP 2.0, which includes many of the same features
      as WAP1 (e.g. header compression, body compression, tunneling of
      multiple requests over a single connection/session, push, etc),
      proxies may also need to provide such a transformation, e.g. to
      enable a single client transport protocol connection (HTTP 2.0),
      but transform that to an HTTP 1.1 connection for servers that do
      not support HTTP 2.0.

   Tunnel:  acts as a blind relay between two connections without
      changing the messages.  Once active, a tunnel is not considered a
      party to the HTTP communication, though the tunnel might have been
      initiated by an HTTP request.  A tunnel ceases to exist when both
      ends of the relayed connection are closed.  Tunnels are used to
      extend a virtual connection through an intermediary.

   HTTP2.0 defines the following intermidiaries:

   2.0 Proxy:  an interposed entity the user-agent is informed about its
      existence (by explicit configuration or other TBD mechanisms), and
      that can be easily bypassed if the user-agent decide to do it.


3.  Current Proxy usages

   Among all the possible existing Proxy usages, there are some that
   really improve the user QoE and also help the users while accessing
   the Web.




Loreto, et al.           Expires April 24, 2014                 [Page 4]

Internet-Draft               HTTP/2.0 Proxy                 October 2013


   Network access control

   Protocol Enhancement Proxy

   Perform DNS requests on behalf of the user

   The list above only enumerates some of the reliable Proxy usage that
   would provide value also in 2.0.


4.  HTTP 2.0 Proxy

   In HTTP 2.0 an interposed proxy should always be discoverable by the
   user-agent so that the user can consent it to stay or easily bypass
   it.

   The actual discovery mechanism is not discussed in this draft.

4.1.  HTTP 2.0 Proxy Features

   "2.0 Proxy" will provide in additions to the usages listed in Section
   4 also other specific HTTP 2.0 usages.  Some of them are listed
   below.

   Protocol version translation such as HTTP2.0 vs HTTP1.0/1.1  The HTTP
      2.0 benefits will be valuable when it is used in mobile networks;
      however not all sites on Internet will support 2.0 from day one.
      The "2.0 Proxy" receives the HTTP 2.0 request by the user-agent
      and sends a new request to the Origin Server.  If the Origin
      Server does not support HTTP 2.0 then the "2.0 Proxy" will
      translate the HTTP 2.0 request to HTTP 1.1 request and will then
      translate the HTTP 1.1 response to the HTTP 2.0 response.

   Improve the HTTP/2.0 Flow Control management   If both the user-agent
      and the origin server support HTTP 2.0, the 2.0 proxy can improve
      the Flow Control management as it is a hop-by-hop mechanism
      defined to protect endpoints that are operating under resource
      constraints.

   Stream priority management  A "2.0 Proxy" can improve the
      transmission order for streams based on knowledge of the network
      bandwidth-delay.

   Push streams management  A "2.0 Proxy" can adhere to network
      condition and apply push streams management policy.  As an example
      a mobile user roaming can have policy saying not allowed push.





Loreto, et al.           Expires April 24, 2014                 [Page 5]

Internet-Draft               HTTP/2.0 Proxy                 October 2013


4.2.  2.0 Proxy: discovery mechanisms

   The end user, using HTTP 2.0, should become always aware of the
   existence of any "2.0 Proxy" present in the network.  The end user
   may also be entitled to explicitly consent to use it or to bypass it,
   although such entitlement may be limited for some applications or
   service environments.

   The actual discovery mechanism is not discussed in this draft.  The
   human factor implications of "proxy awareness" by the user are also
   not discussed.


5.  Acknowledgments

   The authors wish to thank Thorsten Herber, Preeyaa Rawlani, Bryan
   Sullivan for their invaluable comments.


6.  References

6.1.  Normative References

   [I-D.ietf-httpbis-http2]
              Belshe, M., Peon, R., Thomson, M., and A. Melnikov,
              "Hypertext Transfer Protocol version 2.0",
              draft-ietf-httpbis-http2-06 (work in progress),
              August 2013.

   [I-D.ietf-httpbis-p1-messaging]
              Fielding, R. and J. Reschke, "Hypertext Transfer Protocol
              (HTTP/1.1): Message Syntax and Routing",
              draft-ietf-httpbis-p1-messaging-24 (work in progress),
              September 2013.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC2616]  Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,
              Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext
              Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.

   [RFC2817]  Khare, R. and S. Lawrence, "Upgrading to TLS Within
              HTTP/1.1", RFC 2817, May 2000.

   [RFC3986]  Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
              Resource Identifier (URI): Generic Syntax", STD 66,
              RFC 3986, January 2005.



Loreto, et al.           Expires April 24, 2014                 [Page 6]

Internet-Draft               HTTP/2.0 Proxy                 October 2013


6.2.  Informative References

   [RFC3040]  Cooper, I., Melve, I., and G. Tomlinson, "Internet Web
              Replication and Caching Taxonomy", RFC 3040, January 2001.

   [RFC4732]  Handley, M., Rescorla, E., and IAB, "Internet Denial-of-
              Service Considerations", RFC 4732, December 2006.


Authors' Addresses

   Salvatore Loreto
   Ericsson
   Hirsalantie 11
   Jorvas  02420
   Finland

   Email: salvatore.loreto@ericsson.com


   Robert Skog
   Ericsson
   Sweeden

   Email: robert.skog@ericsson.com


   Hans Spaak
   Ericsson
   Sweeden

   Email: hans.spaak@ericsson.com


   Dan Druta
   AT&T


   Phone:
   Email: dd5826@att.com











Loreto, et al.           Expires April 24, 2014                 [Page 7]

Internet-Draft               HTTP/2.0 Proxy                 October 2013


   Mohammad Hafeez
   AT&T


   Phone:
   Email: mh2897@att.com













































Loreto, et al.           Expires April 24, 2014                 [Page 8]