Skip to main content

Bootstrapping WebSockets with HTTP/2
draft-ietf-httpbis-h2-websockets-07

Revision differences

Document history

Date Rev. By Action
2018-09-15
07 (System) RFC Editor state changed to AUTH48-DONE from AUTH48
2018-08-13
07 (System) RFC Editor state changed to AUTH48 from RFC-EDITOR
2018-08-01
07 (System) RFC Editor state changed to RFC-EDITOR from EDIT
2018-07-02
07 Victor Kuarsingh Request for Last Call review by OPSDIR Completed: Ready. Reviewer: Victor Kuarsingh. Sent review to list.
2018-06-19
07 (System) IANA Action state changed to RFC-Ed-Ack from Waiting on RFC Editor
2018-06-19
07 (System) IANA Action state changed to Waiting on RFC Editor from Waiting on Authors
2018-06-18
07 (System) IANA Action state changed to Waiting on Authors
2018-06-18
07 (System) RFC Editor state changed to EDIT
2018-06-18
07 (System) IESG state changed to RFC Ed Queue from Approved-announcement sent
2018-06-18
07 (System) Announcement was received by RFC Editor
2018-06-18
07 Cindy Morgan IESG state changed to Approved-announcement sent from Approved-announcement to be sent
2018-06-18
07 Cindy Morgan IESG has approved the document
2018-06-18
07 Cindy Morgan Closed "Approve" ballot
2018-06-18
07 Cindy Morgan Ballot approval text was generated
2018-06-18
07 Alexey Melnikov IESG state changed to Approved-announcement to be sent from Approved-announcement to be sent::Point Raised - writeup needed
2018-06-18
07 Patrick McManus New version available: draft-ietf-httpbis-h2-websockets-07.txt
2018-06-18
07 (System) New version approved
2018-06-18
07 (System) Request for posting confirmation emailed to previous authors: Patrick McManus
2018-06-18
07 Patrick McManus Uploaded new revision
2018-06-07
06 Jean Mahoney Closed request for Last Call review by GENART with state 'No Response'
2018-06-07
06 Cindy Morgan IESG state changed to Approved-announcement to be sent::Point Raised - writeup needed from Waiting for Writeup
2018-06-07
06 Ignas Bagdonas [Ballot Position Update] New position, No Objection, has been recorded for Ignas Bagdonas
2018-06-07
06 Terry Manderson [Ballot Position Update] New position, No Objection, has been recorded for Terry Manderson
2018-06-06
06 Adam Roach
[Ballot comment]
Thanks to the author and working group for the work that has been done on this
mechanism. I have only minor editorial comments. …
[Ballot comment]
Thanks to the author and working group for the work that has been done on this
mechanism. I have only minor editorial comments.

---------------------------------------------------------------------------

General: This document uses the terms "header" and "pseudo-header" in several
places where "header field" and "pseudo-header field" is meant. Please find and
fix these.

---------------------------------------------------------------------------

§1:

>  HTTP/2 does not allow connection-wide headers and
>  status codes such as the Upgrade and Connection request headers or
>  the 101 response code due to its multiplexing nature.

Suggestion: "...the 101 (Switching Protocols) response code..."

---------------------------------------------------------------------------

§5:

>  The HTTP/2 stream closure is also analogous to the TCP connection of
>  [RFC6455].

I think this means to say "TCP connection closure of [RFC6455]." Either that
or "...stream handling is analogous to the TCP connection handling of..."

---------------------------------------------------------------------------

Section 10.2 seems redundant. Consider removing it.
2018-06-06
06 Adam Roach [Ballot Position Update] New position, Yes, has been recorded for Adam Roach
2018-06-06
06 Martin Vigoureux [Ballot Position Update] New position, No Objection, has been recorded for Martin Vigoureux
2018-06-06
06 Suresh Krishnan [Ballot Position Update] New position, No Objection, has been recorded for Suresh Krishnan
2018-06-06
06 Mirja Kühlewind
[Ballot comment]
One high level question: You say in the intro that a mechanism to transition from http to TCP is needed while the proposed …
[Ballot comment]
One high level question: You say in the intro that a mechanism to transition from http to TCP is needed while the proposed mechanism does actually not "transition" but use websockets OVER http. Was just opening a second TCP connection considered as an alternative?
2018-06-06
06 Mirja Kühlewind [Ballot Position Update] New position, No Objection, has been recorded for Mirja Kühlewind
2018-06-06
06 Ben Campbell
[Ballot comment]
Just a couple of minor comments:

Substantive:
§5: Is the scheme pseudo-header expected to match the security status of the existing connection?


Editorial: …
[Ballot comment]
Just a couple of minor comments:

Substantive:
§5: Is the scheme pseudo-header expected to match the security status of the existing connection?


Editorial:
§4, first bullet: This sort of deep link into the IANA registries makes it hard for them to evolve their registry organization over time. Please consider referencing the registry by name.
2018-06-06
06 Ben Campbell [Ballot Position Update] New position, Yes, has been recorded for Ben Campbell
2018-06-06
06 Warren Kumari [Ballot Position Update] New position, No Objection, has been recorded for Warren Kumari
2018-06-06
06 Alvaro Retana [Ballot Position Update] New position, No Objection, has been recorded for Alvaro Retana
2018-06-06
06 Eric Rescorla
[Ballot comment]
Rich version of this review at:
https://mozphab-ietf.devsvcdev.mozaws.net/D5180



COMMENTS
S 4.
>        indicating the desired protocol to be spoken on the …
[Ballot comment]
Rich version of this review at:
https://mozphab-ietf.devsvcdev.mozaws.net/D5180



COMMENTS
S 4.
>        indicating the desired protocol to be spoken on the tunnel created
>        by CONNECT.  The pseudo-header is single valued and contains a
>        value from the HTTP Upgrade Token Registry defined by [RFC7230].

>      o  On requests bearing the :protocol pseudo-header, the :scheme and
>        :path pseudo-header fields MUST be included.

You should say what the path means.


S 4.

>      o  On requests bearing the :protocol pseudo-header, the :authority
>        pseudo-header field is interpreted according to Section 8.1.2.3 of
>        [RFC7540] instead of Section 8.3 of [RFC7540].  In particular the
>        server MUST NOT make a new TCP connection to the host and port
>        indicated by the :authority.

I was sort of able to make sense of this, but it's kind of confusing.
Perhaps you could say a word about it.




S 5.
>      the GET-based request in [RFC6455] and is used to process the
>      WebSockets opening handshake.

>      The scheme of the Target URI [RFC7230] MUST be "https" for "wss"
>      schemed WebSockets and "http" for "ws" schemed WebSockets.  The
>      websocket URI is still used for proxy autoconfiguration.

Just to be clear, you are saying ":scheme" must be https or http?
2018-06-06
06 Eric Rescorla [Ballot Position Update] New position, No Objection, has been recorded for Eric Rescorla
2018-06-05
06 Benjamin Kaduk
[Ballot comment]
Thanks for the well-written document!

I only have one comment: should we explicitly mention that the security considerations of RFC 6455
continue to …
[Ballot comment]
Thanks for the well-written document!

I only have one comment: should we explicitly mention that the security considerations of RFC 6455
continue to apply?
2018-06-05
06 Benjamin Kaduk [Ballot Position Update] New position, No Objection, has been recorded for Benjamin Kaduk
2018-06-02
06 Deborah Brungard [Ballot Position Update] New position, No Objection, has been recorded for Deborah Brungard
2018-06-01
06 (System) IANA Review state changed to IANA OK - Actions Needed from Version Changed - Review Needed
2018-06-01
06 (System) IANA Review state changed to Version Changed - Review Needed from IANA OK - Actions Needed
2018-06-01
06 Patrick McManus New version available: draft-ietf-httpbis-h2-websockets-06.txt
2018-06-01
06 (System) New version approved
2018-06-01
06 (System) Request for posting confirmation emailed to previous authors: Patrick McManus
2018-06-01
06 Patrick McManus Uploaded new revision
2018-06-01
05 Spencer Dawkins
[Ballot comment]
This was mostly clear and easy to understand. I wanted to pass on a few places where I struggled.

This is a nit: …
[Ballot comment]
This was mostly clear and easy to understand. I wanted to pass on a few places where I struggled.

This is a nit:

  This tunneled stream will be multiplexed with other regular streams
  on the connection and enjoys the normal priority, cancellation, and
  flow control features of HTTP/2.

"streams enjoying HTTP/2 features" seems odd to me. Perhaps "has" or even "shares"? But do the right thing.

It was really easy for me to read

  o  A new pseudo-header :protocol MAY be included on request HEADERS
      indicating the desired protocol to be spoken on the tunnel created
      by CONNECT.

without realizing that ":protocol" WAS the pseudo-header - it took me two or three passes to realize that I could stop looking for the pseudo-header, because I'd already seen it. Maybe no one else will be confused? I notice that Section 5 puts scheme names in quotes, and they are more noticeable, so maybe ":protocol" (and the other pseudo-headers in the section) would be helpful to the reader. But do the right thing.

I had trouble parsing

  o  The use of a pseudo-header is something that is connection
      specific and HTTP/2 does not ever allow to be created outside of
      the protocol stack.

somewhere around "does not ever allow to be created" - the combination of passive tense and negation was probably my problem. Even then, "does not allow the creation of" - what? matching text seems to say "the use of a pseudo-header is not allowed to be created". Is that what is intended? If I'm tripping over well-understood HTTP/2 terminology, my apologies, of course.

Is there a pointer you could include with this text?

  The 2017 HTTP Workshop had a very productive discussion that helped
  determine the key problem and acceptable level of solution
  complexity.
2018-06-01
05 Spencer Dawkins [Ballot Position Update] New position, No Objection, has been recorded for Spencer Dawkins
2018-06-01
05 Alissa Cooper [Ballot Position Update] New position, No Objection, has been recorded for Alissa Cooper
2018-05-31
05 Tero Kivinen Request for Last Call review by SECDIR Completed: Has Issues. Reviewer: Carl Wallace.
2018-05-29
05 Alexey Melnikov Ballot has been issued
2018-05-29
05 Alexey Melnikov [Ballot Position Update] New position, Yes, has been recorded for Alexey Melnikov
2018-05-29
05 Alexey Melnikov Created "Approve" ballot
2018-05-29
05 Alexey Melnikov Ballot writeup was changed
2018-05-21
05 (System) IESG state changed to Waiting for Writeup from In Last Call
2018-05-18
05 Gunter Van de Velde Request for Last Call review by OPSDIR is assigned to Victor Kuarsingh
2018-05-18
05 Gunter Van de Velde Request for Last Call review by OPSDIR is assigned to Victor Kuarsingh
2018-05-17
05 Sabrina Tanamal IANA Review state changed to IANA OK - Actions Needed from IANA - Not OK
2018-05-17
05 Tero Kivinen Request for Last Call review by SECDIR is assigned to Carl Wallace
2018-05-17
05 Tero Kivinen Request for Last Call review by SECDIR is assigned to Carl Wallace
2018-05-15
05 (System) IANA Review state changed to IANA - Not OK from IANA - Review Needed
2018-05-15
05 Sabrina Tanamal
(Via drafts-lastcall@iana.org): IESG/Authors/WG Chairs:

The IANA Services Operator has completed its review of draft-ietf-httpbis-h2-websockets-05. If any part of this review is inaccurate, please let …
(Via drafts-lastcall@iana.org): IESG/Authors/WG Chairs:

The IANA Services Operator has completed its review of draft-ietf-httpbis-h2-websockets-05. If any part of this review is inaccurate, please let us know.

The IANA Services Operator understands that, upon approval of this document, there is a single action which we must complete.

In the HTTP/2 Settings registry on the Hypertext Transfer Protocol version 2 (HTTP/2) Parameters registry page located at:

https://www.iana.org/assignments/http2-parameters/

a single, new registration will be made as follows:

Code: 0x8
Name: SETTINGS_ENABLE_CONNECT_PROTOCOL
Initial Value: 0
Reference: [ RFC-to-be ]

As this document requests registrations in an Expert Review (see RFC 8126) registry, we will initiate the required Expert Review via a separate request. Expert review will need to be completed before your document can be approved for publication as an RFC.

The IANA Services Operator understands that this is the only action required to be completed upon approval of this document.

Note:  The actions requested in this document will not be completed until the document has been approved for publication as an RFC. This message is meant only to confirm the list of actions that will be performed.

Thank you,

Sabrina Tanamal
Senior IANA Services Specialist
2018-05-10
05 Jean Mahoney Request for Last Call review by GENART is assigned to Fernando Gont
2018-05-10
05 Jean Mahoney Request for Last Call review by GENART is assigned to Fernando Gont
2018-05-10
05 Alexey Melnikov Placed on agenda for telechat - 2018-06-07
2018-05-07
05 Amy Vezza IANA Review state changed to IANA - Review Needed
2018-05-07
05 Amy Vezza
The following Last Call announcement was sent out (ends 2018-05-21):

From: The IESG
To: IETF-Announce
CC: httpbis-chairs@ietf.org, Mark Nottingham , mnot@mnot.net, ietf-http-wg@w3.org, …
The following Last Call announcement was sent out (ends 2018-05-21):

From: The IESG
To: IETF-Announce
CC: httpbis-chairs@ietf.org, Mark Nottingham , mnot@mnot.net, ietf-http-wg@w3.org, alexey.melnikov@isode.com, draft-ietf-httpbis-h2-websockets@ietf.org
Reply-To: ietf@ietf.org
Sender:
Subject: Last Call:  (Bootstrapping WebSockets with HTTP/2) to Proposed Standard


The IESG has received a request from the Hypertext Transfer Protocol WG
(httpbis) to consider the following document: - 'Bootstrapping WebSockets
with HTTP/2'
  as Proposed Standard

The IESG plans to make a decision in the next few weeks, and solicits final
comments on this action. Please send substantive comments to the
ietf@ietf.org mailing lists by 2018-05-21. Exceptionally, comments may be
sent to iesg@ietf.org instead. In either case, please retain the beginning of
the Subject line to allow automated sorting.

Abstract


  This document defines a mechanism for running the WebSocket Protocol
  (RFC 6455) over a single stream of an HTTP/2 connection.




The file can be obtained via
https://datatracker.ietf.org/doc/draft-ietf-httpbis-h2-websockets/

IESG discussion can be tracked via
https://datatracker.ietf.org/doc/draft-ietf-httpbis-h2-websockets/ballot/


No IPR declarations have been submitted directly on this I-D.




2018-05-07
05 Amy Vezza IESG state changed to In Last Call from Last Call Requested
2018-05-07
05 Alexey Melnikov Last call was requested
2018-05-07
05 Alexey Melnikov Last call announcement was generated
2018-05-07
05 Alexey Melnikov Ballot approval text was generated
2018-05-07
05 Alexey Melnikov Ballot writeup was generated
2018-05-07
05 Alexey Melnikov IESG state changed to Last Call Requested from AD Evaluation
2018-05-07
05 Alexey Melnikov IESG state changed to AD Evaluation from Publication Requested
2018-05-07
05 Mark Nottingham
# Shepherd Writeup for draft-ietf-httpbis-h2-websockets

## 1. Summary

Mark Nottingham is the Document Shepherd; Alexey Melnikov is the responsible Area Director.

This document defines a …
# Shepherd Writeup for draft-ietf-httpbis-h2-websockets

## 1. Summary

Mark Nottingham is the Document Shepherd; Alexey Melnikov is the responsible Area Director.

This document defines a mechanism for running the WebSocket Protocol over a single stream of an
HTTP/2 connection.

The intended publication type is Proposed Standard.

## 2. Review and Consensus

This document enjoyed broad discussion and review in the HTTP Working Group; there seems to be
significant community interest in it, since it enables the use of WebSockets on a HTTP/2 server,
reducing operational issues for Web sites.

Deployment depends upon implementation in Web browsers; at least one has already written code for
this feature and is in process of shipping it.

There was some concern about whether it was appropriate for a version-specific extension (a HTTP/2
SETTING) to modify the semantics of a version-generic HTTP method (CONNECT), but the WG reached
consensus that CONNECT is "special" in this regard.

## 3. Intellectual Property

Patrick has confirmed that to his direct, personal knowledge, no IPR related to this document needs
to be disclosed.

## 4. Other Points

The document does not have any downrefs.

IDNits points out some minor issues which will be addressed in a subsequent draft.

The IANA Considerations are concise and correct. Note that 0x8 was chosen to avoid colliding with
draft-ietf-httpbis-cache-digest.
2018-05-07
05 Mark Nottingham Responsible AD changed to Alexey Melnikov
2018-05-07
05 Mark Nottingham IETF WG state changed to Submitted to IESG for Publication from In WG Last Call
2018-05-07
05 Mark Nottingham IESG state changed to Publication Requested
2018-05-07
05 Mark Nottingham IESG process started in state Publication Requested
2018-05-07
05 Patrick McManus New version available: draft-ietf-httpbis-h2-websockets-05.txt
2018-05-07
05 (System) New version approved
2018-05-07
05 (System) Request for posting confirmation emailed to previous authors: Patrick McManus
2018-05-07
05 Patrick McManus Uploaded new revision
2018-05-07
05 Patrick McManus Uploaded new revision
2018-05-07
04 Mark Nottingham This document now replaces draft-mcmanus-httpbis-h2-websockets instead of None
2018-05-07
04 Mark Nottingham Changed document writeup
2018-05-04
04 Patrick McManus New version available: draft-ietf-httpbis-h2-websockets-04.txt
2018-05-04
04 (System) New version approved
2018-05-04
04 (System) Request for posting confirmation emailed to previous authors: Patrick McManus
2018-05-04
04 Patrick McManus Uploaded new revision
2018-05-04
04 Patrick McManus Uploaded new revision
2018-05-02
03 Patrick McManus New version available: draft-ietf-httpbis-h2-websockets-03.txt
2018-05-02
03 (System) New version approved
2018-05-02
03 (System) Request for posting confirmation emailed to previous authors: Patrick McManus
2018-05-02
03 Patrick McManus Uploaded new revision
2018-05-02
03 Patrick McManus Uploaded new revision
2018-05-02
02 Patrick McManus New version available: draft-ietf-httpbis-h2-websockets-02.txt
2018-05-02
02 (System) New version approved
2018-05-02
02 (System) Request for posting confirmation emailed to previous authors: Patrick McManus
2018-05-02
02 Patrick McManus Uploaded new revision
2018-05-02
02 Patrick McManus Uploaded new revision
2018-03-28
01 Mark Nottingham IETF WG state changed to In WG Last Call from WG Document
2018-03-28
01 Mark Nottingham Changed consensus to Yes from Unknown
2018-03-28
01 Mark Nottingham Intended Status changed to Proposed Standard from None
2018-03-28
01 Mark Nottingham Notification list changed to Mark Nottingham <mnot@mnot.net>
2018-03-28
01 Mark Nottingham Document shepherd changed to Mark Nottingham
2018-03-28
01 Patrick McManus New version available: draft-ietf-httpbis-h2-websockets-01.txt
2018-03-28
01 (System) New version approved
2018-03-28
01 (System) Request for posting confirmation emailed to previous authors: Patrick McManus
2018-03-28
01 Patrick McManus Uploaded new revision
2018-03-28
01 Patrick McManus Uploaded new revision
2018-01-09
00 Patrick McManus New version available: draft-ietf-httpbis-h2-websockets-00.txt
2018-01-09
00 (System) WG -00 approved
2017-12-19
00 Patrick McManus Set submitter to "Patrick McManus ", replaces to (none) and sent approval email to group chairs: httpbis-chairs@ietf.org
2017-12-19
00 Patrick McManus Uploaded new revision