draft-ietf-tls-http-upgrade-03.txt   draft-ietf-tls-http-upgrade-04.txt 
Network Working Group R. Khare Network Working Group R. Khare
Internet-Draft 4K Associates / UC Irvine Internet-Draft 4K Associates / UC Irvine
Expires: February 15, 2000 S. Lawrence Expires: April 21, 2000 S. Lawrence
Agranat Systems, Inc. Agranat Systems, Inc.
August 17, 1999 October 22, 1999
Upgrading to TLS Within HTTP/1.1 Upgrading to TLS Within HTTP/1.1
draft-ietf-tls-http-upgrade-03.txt draft-ietf-tls-http-upgrade-04.txt
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as other groups may also distribute working documents as
Internet-Drafts. Internet-Drafts.
skipping to change at page 1, line 32 skipping to change at page 1, line 32
months and may be updated, replaced, or obsoleted by other documents months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet-Drafts as reference at any time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on February 15, 2000. This Internet-Draft will expire on April 21, 2000.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (1999). All Rights Reserved. Copyright (C) The Internet Society (1999). All Rights Reserved.
Abstract Abstract
This memo explains how to use the Upgrade mechanism in HTTP/1.1 to This memo explains how to use the Upgrade mechanism in HTTP/1.1 to
initiate Transport Layer Security (TLS) over an existing TCP initiate Transport Layer Security (TLS) over an existing TCP
connection. This allows unsecured and secured HTTP traffic to share connection. This allows unsecured and secured HTTP traffic to share
skipping to change at page 2, line 40 skipping to change at page 2, line 40
5.3 Establishing a Tunnel with CONNECT . . . . . . . . . . . . . . 7 5.3 Establishing a Tunnel with CONNECT . . . . . . . . . . . . . . 7
6. Rationale for the use of a 4xx (client error) Status Code . . 8 6. Rationale for the use of a 4xx (client error) Status Code . . 8
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8
7.1 HTTP Status Code Registry . . . . . . . . . . . . . . . . . . 8 7.1 HTTP Status Code Registry . . . . . . . . . . . . . . . . . . 8
7.2 HTTP Upgrade Token Registry . . . . . . . . . . . . . . . . . 8 7.2 HTTP Upgrade Token Registry . . . . . . . . . . . . . . . . . 8
8. Security Considerations . . . . . . . . . . . . . . . . . . . 9 8. Security Considerations . . . . . . . . . . . . . . . . . . . 9
8.1 Implications for the https: URI Scheme . . . . . . . . . . . . 10 8.1 Implications for the https: URI Scheme . . . . . . . . . . . . 10
8.2 Security Considerations for CONNECT . . . . . . . . . . . . . 10 8.2 Security Considerations for CONNECT . . . . . . . . . . . . . 10
References . . . . . . . . . . . . . . . . . . . . . . . . . . 10 References . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 11 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 11
A. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 11 A. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 12
Full Copyright Statement . . . . . . . . . . . . . . . . . . . 13 Full Copyright Statement . . . . . . . . . . . . . . . . . . . 13
1. Motivation 1. Motivation
The historical practice of deploying HTTP over SSL3 [3] has The historical practice of deploying HTTP over SSL3 [3] has
distinguished the combination from HTTP alone by a unique URI scheme distinguished the combination from HTTP alone by a unique URI scheme
and the TCP port number. The scheme 'http' meant the HTTP protocol and the TCP port number. The scheme 'http' meant the HTTP protocol
alone on port 80, while 'https' meant the HTTP protocol over SSL on alone on port 80, while 'https' meant the HTTP protocol over SSL on
port 443. Parallel well-known port numbers have similarly been port 443. Parallel well-known port numbers have similarly been
requested -- and in some cases, granted -- to distinguish between requested -- and in some cases, granted -- to distinguish between
skipping to change at page 7, line 31 skipping to change at page 7, line 31
Proxy-Authorization: basic aGVsbG86d29ybGQ= Proxy-Authorization: basic aGVsbG86d29ybGQ=
Like any other pipelined HTTP/1.1 request, data to be tunneled may Like any other pipelined HTTP/1.1 request, data to be tunneled may
be sent immediately after the blank line. The usual caveats also be sent immediately after the blank line. The usual caveats also
apply: data may be discarded if the eventual response is negative, apply: data may be discarded if the eventual response is negative,
and the connection may be reset with no response if more than one and the connection may be reset with no response if more than one
TCP segment is outstanding. TCP segment is outstanding.
5.3 Establishing a Tunnel with CONNECT 5.3 Establishing a Tunnel with CONNECT
Any successful (2xy) response to a CONNECT request indicates that Any successful (2xx) response to a CONNECT request indicates that
the proxy has established a connection to the requested host and the proxy has established a connection to the requested host and
port, and has switched to tunneling the current connection to that port, and has switched to tunneling the current connection to that
server connection. server connection.
It may be the case that the proxy itself can only reach the It may be the case that the proxy itself can only reach the
requested origin server through another proxy. In this case, the requested origin server through another proxy. In this case, the
first proxy SHOULD make a CONNECT request of that next proxy, first proxy SHOULD make a CONNECT request of that next proxy,
requesting a tunnel to the authority. A proxy MUST NOT respond with requesting a tunnel to the authority. A proxy MUST NOT respond with
any 2xy status code unless it has either a direct or tunnel any 2xx status code unless it has either a direct or tunnel
connection established to the authority. connection established to the authority.
An origin server which receives a CONNECT request for itself MAY An origin server which receives a CONNECT request for itself MAY
respond with a 2xy status code to indicate that a connection is respond with a 2xx status code to indicate that a connection is
established. established.
If at any point either one of the peers gets disconnected, any If at any point either one of the peers gets disconnected, any
outstanding data that came from that peer will be passed to the outstanding data that came from that peer will be passed to the
other one, and after that also the other connection will be other one, and after that also the other connection will be
terminated by the proxy. If there is outstanding data to that peer terminated by the proxy. If there is outstanding data to that peer
undelivered, that data will be discarded. undelivered, that data will be discarded.
6. Rationale for the use of a 4xx (client error) Status Code 6. Rationale for the use of a 4xx (client error) Status Code
skipping to change at page 10, line 45 skipping to change at page 10, line 45
References References
[1] Fielding, R.T. and et. al, "Hypertext Transfer Protocol -- [1] Fielding, R.T. and et. al, "Hypertext Transfer Protocol --
HTTP/1.1", RFC 2616, June 1999. HTTP/1.1", RFC 2616, June 1999.
[2] Berners-Lee, T., Fielding, R.T. and L. Masinter, "URI Generic [2] Berners-Lee, T., Fielding, R.T. and L. Masinter, "URI Generic
Syntax", RFC 2396, August 1998. Syntax", RFC 2396, August 1998.
[3] Rescorla, E.K., "HTTP Over TLS", Internet-Draft (Work In [3] Rescorla, E.K., "HTTP Over TLS", Internet-Draft (Work In
Progress) draft-ietf-tls-https-02, September 1998. Progress) (Non-Normative Background Information)
draft-ietf-tls-https-02, September 1998.
[4] Goland, Y.Y., Whitehead, E.J. and et. al, "Web Distributed [4] Goland, Y.Y., Whitehead, E.J. and et. al, "Web Distributed
Authoring and Versioning", RFC 2518, February 1999. Authoring and Versioning", RFC 2518, February 1999.
[5] Slein, J., Whitehead, E.J. and et. al, "WebDAV Advanced [5] Slein, J., Whitehead, E.J. and et. al, "WebDAV Advanced
Collections Protocol", Internet-Draft (Work In Progress) Collections Protocol", Internet-Draft (Work In Progress)
(Non-Normative Background Information)
draft-ietf-webdav-collection-protocol-04, June 1999. draft-ietf-webdav-collection-protocol-04, June 1999.
[6] Dierks, T. and C. Allen, "The TLS Protocol", RFC 2246, January [6] Dierks, T. and C. Allen, "The TLS Protocol", RFC 2246, January
1999. 1999.
[7] Herriot, R., Butler, S., Moore, P. and R. Turner, "Internet [7] Herriot, R., Butler, S., Moore, P. and R. Turner, "Internet
Printing Protocol/1.0: Encoding and Transport", RFC 2565, April Printing Protocol/1.0: Encoding and Transport", RFC 2565, April
1999. 1999.
[8] Luotonen, A., "Tunneling TCP based protocols through Web proxy [8] Luotonen, A., "Tunneling TCP based protocols through Web proxy
servers", Internet-Draft (Work In Progress) servers", Internet-Draft (Work In Progress) (Non-Normative
Historical Information; Also available in: Luotonen, Ari. Web
Proxy Servers, Prentice-Hall, 1997 ISBN:0136806120)
draft-luotonen-web-proxy-tunneling-01, August 1998. draft-luotonen-web-proxy-tunneling-01, August 1998.
[9] Rose, M.T., "Writing I-Ds and RFCs using XML", RFC 2629, June [9] Rose, M.T., "Writing I-Ds and RFCs using XML", RFC 2629, June
1999. 1999.
[10] Narten, T. and H.T. Alvestrand, "Guidelines for Writing an [10] Narten, T. and H.T. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, October 1998. IANA Considerations Section in RFCs", BCP 26, October 1998.
Authors' Addresses Authors' Addresses
skipping to change at page 13, line 11 skipping to change at page 13, line 11
tunneling. tunneling.
o Harald Alvestrand for improvements to the token registration o Harald Alvestrand for improvements to the token registration
rules. rules.
Full Copyright Statement Full Copyright Statement
Copyright (C) The Internet Society (1999). All Rights Reserved. Copyright (C) The Internet Society (1999). All Rights Reserved.
This document and translations of it may be copied and furnished to This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it others, and derivative works that comment on or otherwise explain it
or assist in its implmentation may be prepared, copied, published or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph kind, provided that the above copyright notice and this paragraph
are included on all such copies and derivative works. However, this are included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than followed, or as required to translate it into languages other than
English. English.
 End of changes. 

This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/