Skip to main content

An HTTP Status Code for Indicating Hints
draft-ietf-httpbis-early-hints-05

Revision differences

Document history

Date Rev. By Action
2017-12-18
05 (System) RFC Editor state changed to AUTH48-DONE from AUTH48
2017-12-11
05 (System) RFC Editor state changed to AUTH48 from RFC-EDITOR
2017-11-29
05 (System) RFC Editor state changed to RFC-EDITOR from EDIT
2017-10-31
05 (System) IANA Action state changed to RFC-Ed-Ack from Waiting on RFC Editor
2017-10-31
05 (System) IANA Action state changed to Waiting on RFC Editor from Waiting on Authors
2017-10-30
05 (System) IANA Action state changed to Waiting on Authors from In Progress
2017-10-30
05 (System) RFC Editor state changed to EDIT
2017-10-30
05 (System) IESG state changed to RFC Ed Queue from Approved-announcement sent
2017-10-30
05 (System) Announcement was received by RFC Editor
2017-10-30
05 (System) IANA Action state changed to In Progress
2017-10-30
05 Amy Vezza IESG state changed to Approved-announcement sent from Approved-announcement to be sent
2017-10-30
05 Amy Vezza IESG has approved the document
2017-10-30
05 Amy Vezza Closed "Approve" ballot
2017-10-30
05 Amy Vezza IESG state changed to Approved-announcement to be sent from IESG Evaluation::AD Followup
2017-10-30
05 Amy Vezza Ballot approval text was generated
2017-10-28
05 (System) Sub state has been changed to AD Followup from Revised ID Needed
2017-10-28
05 (System) IANA Review state changed to Version Changed - Review Needed from IANA OK - Actions Needed
2017-10-28
05 Kazuho Oku New version available: draft-ietf-httpbis-early-hints-05.txt
2017-10-28
05 (System) New version approved
2017-10-28
05 (System) Request for posting confirmation emailed to previous authors: Kazuho Oku
2017-10-28
05 Kazuho Oku Uploaded new revision
2017-08-30
04 Alexey Melnikov Please post a new version that includes changes to feedback from IESG review.
2017-08-30
04 Alexey Melnikov IESG state changed to IESG Evaluation::Revised I-D Needed from IESG Evaluation::AD Followup
2017-08-04
04 Spencer Dawkins
[Ballot comment]
Switching to Yes, as promised in my Discuss, which was:

I'll be a Yes after you help me figure this out, so this …
[Ballot comment]
Switching to Yes, as promised in my Discuss, which was:

I'll be a Yes after you help me figure this out, so this really is a request for Discussion ...

In this text,

    HTTP/1.1 103 Early Hints
    Link: ; rel=preload; as=style
    Link: ; rel=preload; as=script

    HTTP/1.1 200 OK
    Date: Fri, 26 May 2017 10:02:11 GMT
    Content-Length: 1234
    Content-Type: text/html; charset=utf-8
    Link: ; rel=preload; as=style
    Link: ; rel=preload; as=script
   
I see that the preload Links appear in both the 103 response and the 200 response.

(1) I'm not sure why that makes sense (HTTP still requires reliable transport, no?), but

(2) more Discuss-worthy is that I'm not sure where the question of whether to include the Early Hinted header fields is addressed.

Probably related, but since I can't figure out the answer to (2), I'm confused about this, also - I'm assuming that the 200 response could have additional Links that weren't included in the 103 response, but I don't see that written down anywhere.

If this is an appeal to "be liberal in what you accept", that's an answer (and I'd clear if it is), but I wonder if it is helpful to the implementer to make this clearer than it was to me.

Previous comments:

I have the same question that Mirja has, about Early Hints being a (possibly unintentional) amplification attack. I'm watching that conversation, but I suspect that one answer that I haven't seen go past yet, would be that clients know whether they have the resources to accept Early Hints; if they do, preloading resources that won't be used is wasteful but OK, while if they don't, they wouldn't be preloading resources anyway. If that's not true, I'd like to hear more.

I have the same question Adam has, about how the server knows the client supports 103. I'll watch that conversation.
2017-08-04
04 Spencer Dawkins [Ballot Position Update] Position for Spencer Dawkins has been changed to Yes from Discuss
2017-08-03
04 Amy Vezza IESG state changed to IESG Evaluation::AD Followup from IESG Evaluation
2017-08-03
04 Jean Mahoney Request for Telechat review by GENART Completed: Ready. Reviewer: Wassim Haddad.
2017-08-03
04 Kathleen Moriarty [Ballot comment]
Thanks for the discussion in response to the SecDir review:
https://mailarchive.ietf.org/arch/msg/secdir/aPgHQVISSJsCrmoQjJpkkImfv_g
2017-08-03
04 Kathleen Moriarty [Ballot Position Update] New position, No Objection, has been recorded for Kathleen Moriarty
2017-08-02
04 Ben Campbell
[Ballot comment]
-2, example: (Related to Spencer's first comment): If the 103 links are required to also be in the 200 response, please state that …
[Ballot comment]
-2, example: (Related to Spencer's first comment): If the 103 links are required to also be in the 200 response, please state that explicitly somewhere.

An example with multiple 103s might be helpful.

- Note to Readers: I assume you intend this to be removed? if so, please do so or add a note to the RFC editor to do so.
2017-08-02
04 Ben Campbell [Ballot Position Update] New position, No Objection, has been recorded for Ben Campbell
2017-08-02
04 Alia Atlas [Ballot Position Update] New position, No Objection, has been recorded for Alia Atlas
2017-08-02
04 Suresh Krishnan [Ballot comment]
I had the same thoughts as Adam did about explicitly indicating support for this to avoid unnecessary traffic and guessing.
2017-08-02
04 Suresh Krishnan [Ballot Position Update] New position, No Objection, has been recorded for Suresh Krishnan
2017-08-02
04 Spencer Dawkins
[Ballot discuss]
I'll be a Yes after you help me figure this out, so this really is a request for Discussion ...

In this text, …
[Ballot discuss]
I'll be a Yes after you help me figure this out, so this really is a request for Discussion ...

In this text,

    HTTP/1.1 103 Early Hints
    Link: ; rel=preload; as=style
    Link: ; rel=preload; as=script

    HTTP/1.1 200 OK
    Date: Fri, 26 May 2017 10:02:11 GMT
    Content-Length: 1234
    Content-Type: text/html; charset=utf-8
    Link: ; rel=preload; as=style
    Link: ; rel=preload; as=script
   
I see that the preload Links appear in both the 103 response and the 200 response.

(1) I'm not sure why that makes sense (HTTP still requires reliable transport, no?), but

(2) more Discuss-worthy is that I'm not sure where the question of whether to include the Early Hinted header fields is addressed.

Probably related, but since I can't figure out the answer to (2), I'm confused about this, also - I'm assuming that the 200 response could have additional Links that weren't included in the 103 response, but I don't see that written down anywhere.

If this is an appeal to "be liberal in what you accept", that's an answer (and I'd clear if it is), but I wonder if it is helpful to the implementer to make this clearer than it was to me.
2017-08-02
04 Spencer Dawkins
[Ballot comment]
I have the same question that Mirja has, about Early Hints being a (possibly unintentional) amplification attack. I'm watching that conversation, but I …
[Ballot comment]
I have the same question that Mirja has, about Early Hints being a (possibly unintentional) amplification attack. I'm watching that conversation, but I suspect that one answer that I haven't seen go past yet, would be that clients know whether they have the resources to accept Early Hints; if they do, preloading resources that won't be used is wasteful but OK, while if they don't, they wouldn't be preloading resources anyway. If that's not true, I'd like to hear more.

I have the same question Adam has, about how the server knows the client supports 103. I'll watch that conversation.
2017-08-02
04 Spencer Dawkins [Ballot Position Update] New position, Discuss, has been recorded for Spencer Dawkins
2017-08-02
04 Deborah Brungard [Ballot Position Update] New position, No Objection, has been recorded for Deborah Brungard
2017-08-01
04 Terry Manderson [Ballot Position Update] New position, No Objection, has been recorded for Terry Manderson
2017-08-01
04 Adam Roach
[Ballot comment]
The document contains the following text: "a server might refrain from sending Early Hints over HTTP/1.1 unless the client is known to handle …
[Ballot comment]
The document contains the following text: "a server might refrain from sending Early Hints over HTTP/1.1 unless the client is known to handle informational responses correctly."  This supposition does not indicate how a server might know this, and therefore implies that servers should engage in user-agent sniffing for guessing feature support. User-agent string sniffing is a well-known anti-pattern, and not one that we should be encouraging.

My recommendation would be inserting an indication in the request to indicate client support of the 103 status code, which would serve the dual purpose of avoiding the issues discussed in the Security section as well as not taking up unnecessary bandwidth for the 103 itself when its contents will go unused.
2017-08-01
04 Adam Roach [Ballot Position Update] New position, No Objection, has been recorded for Adam Roach
2017-08-01
04 Eric Rescorla
[Ballot comment]
I don't understand this text:
"  HTTP/2 ([RFC7540]) server push can be used as a solution to this
  issue, but …
[Ballot comment]
I don't understand this text:
"  HTTP/2 ([RFC7540]) server push can be used as a solution to this
  issue, but has its own limitations.  The responses that can be pushed
  using HTTP/2 are limited to those belonging to the same origin.
"

Isn't this also a limitation of 103?

Also, the HTTP spec says
"The server MUST include a value in the :authority pseudo-header field for which the server is authoritative (see Section 10.1). A client MUST treat a PUSH_PROMISE for which the server is not authoritative as a stream error (Section 5.4.2) of type PROTOCOL_ERROR."

So I'm not sure that this restriction is correctly described
2017-08-01
04 Eric Rescorla Ballot comment text updated for Eric Rescorla
2017-08-01
04 Eric Rescorla
[Ballot comment]
I don't understand this text:
"  HTTP/2 ([RFC7540]) server push can be used as a solution to this
  issue, but …
[Ballot comment]
I don't understand this text:
"  HTTP/2 ([RFC7540]) server push can be used as a solution to this
  issue, but has its own limitations.  The responses that can be pushed
  using HTTP/2 are limited to those belonging to the same origin.
"

Isn't this also a limitation of 103?
2017-08-01
04 Eric Rescorla Ballot comment text updated for Eric Rescorla
2017-08-01
04 Eric Rescorla [Ballot Position Update] New position, No Objection, has been recorded for Eric Rescorla
2017-07-31
04 Mirja Kühlewind
[Ballot comment]
One minor comment:
Not sure if this should be part of the security consideration but isn't there also a higher risk of loading …
[Ballot comment]
One minor comment:
Not sure if this should be part of the security consideration but isn't there also a higher risk of loading resources unnecessarily if the finale response turns out to not need these resources? Could that be even used somehow as an attack?
2017-07-31
04 Mirja Kühlewind [Ballot Position Update] New position, No Objection, has been recorded for Mirja Kühlewind
2017-07-29
04 Warren Kumari [Ballot Position Update] New position, No Objection, has been recorded for Warren Kumari
2017-07-27
04 (System) IANA Review state changed to IANA OK - Actions Needed from Version Changed - Review Needed
2017-07-25
04 Alexey Melnikov Ballot has been issued
2017-07-25
04 Alexey Melnikov [Ballot Position Update] New position, Yes, has been recorded for Alexey Melnikov
2017-07-25
04 Alexey Melnikov Created "Approve" ballot
2017-07-25
04 Alexey Melnikov Ballot writeup was changed
2017-07-21
04 Alexey Melnikov IESG state changed to IESG Evaluation from Waiting for Writeup
2017-07-13
04 Jean Mahoney Request for Telechat review by GENART is assigned to Wassim Haddad
2017-07-13
04 Jean Mahoney Request for Telechat review by GENART is assigned to Wassim Haddad
2017-07-11
04 (System) IANA Review state changed to Version Changed - Review Needed from IANA OK - Actions Needed
2017-07-11
04 Cindy Morgan New version available: draft-ietf-httpbis-early-hints-04.txt
2017-07-11
04 (System) Secretariat manually posting. Approvals already received
2017-07-11
04 Cindy Morgan Uploaded new revision
2017-07-06
03 Jean Mahoney Request for Last Call review by GENART Completed: Ready. Reviewer: Wassim Haddad.
2017-07-05
03 (System) IESG state changed to Waiting for Writeup from In Last Call
2017-07-04
03 Melinda Shore Request for Last Call review by SECDIR Completed: Has Issues. Reviewer: Melinda Shore. Sent review to list.
2017-07-03
03 Alexey Melnikov Placed on agenda for telechat - 2017-08-03
2017-06-30
03 Bert Wijnen Request for Last Call review by OPSDIR Completed: Ready. Reviewer: Bert Wijnen. Sent review to list.
2017-06-29
03 (System) IANA Review state changed to IANA OK - Actions Needed from IANA - Review Needed
2017-06-29
03 Sabrina Tanamal
(Via drafts-lastcall@iana.org): IESG/Authors/WG Chairs:

The IANA Services Operator has completed its review of draft-ietf-httpbis-early-hints-03.txt. 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-early-hints-03.txt. 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 Status Code registry on the Hypertext Transfer Protocol (HTTP) Status Code Registry page located at:

https://www.iana.org/assignments/http-status-codes/

a single, new status code is to be registered as follows:

Value: 103
Description: Early Hints
Reference: [ RFC-to-be ]

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 only to confirm what actions will be performed.


Thank you,

Sabrina Tanamal
IANA Services Specialist
PTI
2017-06-24
03 Tero Kivinen Request for Last Call review by SECDIR is assigned to Melinda Shore
2017-06-24
03 Tero Kivinen Request for Last Call review by SECDIR is assigned to Melinda Shore
2017-06-24
03 Gunter Van de Velde Request for Last Call review by OPSDIR is assigned to Bert Wijnen
2017-06-24
03 Gunter Van de Velde Request for Last Call review by OPSDIR is assigned to Bert Wijnen
2017-06-22
03 Jean Mahoney Request for Last Call review by GENART is assigned to Wassim Haddad
2017-06-22
03 Jean Mahoney Request for Last Call review by GENART is assigned to Wassim Haddad
2017-06-21
03 Cindy Morgan IANA Review state changed to IANA - Review Needed
2017-06-21
03 Cindy Morgan
The following Last Call announcement was sent out:

From: The IESG
To: IETF-Announce
CC: httpbis-chairs@ietf.org, Mark Nottingham , mnot@mnot.net, draft-ietf-httpbis-early-hints@ietf.org, ietf-http-wg@w3.org, …
The following Last Call announcement was sent out:

From: The IESG
To: IETF-Announce
CC: httpbis-chairs@ietf.org, Mark Nottingham , mnot@mnot.net, draft-ietf-httpbis-early-hints@ietf.org, ietf-http-wg@w3.org, alexey.melnikov@isode.com
Reply-To: ietf@ietf.org
Sender:
Subject: Last Call:  (An HTTP Status Code for Indicating Hints) to Experimental RFC


The IESG has received a request from the Hypertext Transfer Protocol WG
(httpbis) to consider the following document: - 'An HTTP Status Code for
Indicating Hints'
  as Experimental RFC

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 2017-07-05. 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 memo introduces an informational HTTP status code that can be
  used to convey hints that help a client make preparations for
  processing the final response.

Note to Readers

  Discussion of this draft takes place on the HTTP working group
  mailing list (ietf-http-wg@w3.org), which is archived at
  https://lists.w3.org/Archives/Public/ietf-http-wg/ .

  Working Group information can be found at https://httpwg.github.io/ ;
  source code and issues list for this draft can be found at
  https://github.com/httpwg/http-extensions/labels/early-hints .




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

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


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




2017-06-21
03 Cindy Morgan IESG state changed to In Last Call from Last Call Requested
2017-06-21
03 Alexey Melnikov Last call was requested
2017-06-21
03 Alexey Melnikov Last call announcement was generated
2017-06-21
03 Alexey Melnikov Ballot approval text was generated
2017-06-21
03 Alexey Melnikov Ballot writeup was generated
2017-06-21
03 Alexey Melnikov IESG state changed to Last Call Requested from AD Evaluation
2017-06-21
03 Alexey Melnikov IESG state changed to AD Evaluation from Publication Requested
2017-06-21
03 Alexey Melnikov Changed consensus to Yes from Unknown
2017-06-20
03 Mark Nottingham
# Shepherd Writeup for draft-ietf-httpbis-early-hints

## 1. Summary

Mark Nottingham is the document shepherd. Alexey Melnikov is the responsible Area Director.

This memo introduces an …
# Shepherd Writeup for draft-ietf-httpbis-early-hints

## 1. Summary

Mark Nottingham is the document shepherd. Alexey Melnikov is the responsible Area Director.

This memo introduces an informational HTTP status code that can be used to convey hints that
help a client make preparations for processing the final response.

The Working Group has chosen Experimental to get deployment experience with this extension.


## 2. Review and Consensus

This draft has enjoyed broad review from the Working Group, and a number of parties have expressed an intent to implement, or have already started.


## 3. Intellectual Property

The author has stated that their direct, personal knowledge of any IPR related to this document has already been disclosed, in conformance with BCPs 78 and 79.


## 4. Other Points

N/A
2017-06-20
03 Mark Nottingham Responsible AD changed to Alexey Melnikov
2017-06-20
03 Mark Nottingham IETF WG state changed to Submitted to IESG for Publication from WG Consensus: Waiting for Write-Up
2017-06-20
03 Mark Nottingham IESG state changed to Publication Requested
2017-06-20
03 Mark Nottingham IESG process started in state Publication Requested
2017-06-20
03 Mark Nottingham Changed document writeup
2017-06-20
03 Mark Nottingham Notification list changed to Mark Nottingham <mnot@mnot.net>
2017-06-20
03 Mark Nottingham Document shepherd changed to Mark Nottingham
2017-06-19
03 Kazuho Oku New version available: draft-ietf-httpbis-early-hints-03.txt
2017-06-19
03 (System) New version approved
2017-06-19
03 (System) Request for posting confirmation emailed to previous authors: Kazuho Oku
2017-06-19
03 Kazuho Oku Uploaded new revision
2017-06-19
02 Mark Nottingham IETF WG state changed to WG Consensus: Waiting for Write-Up from In WG Last Call
2017-05-17
02 Mark Nottingham IETF WG state changed to In WG Last Call from WG Document
2017-05-17
02 Mark Nottingham Intended Status changed to Experimental from None
2017-05-17
02 Mark Nottingham Intended Status changed to Experimental from None
2017-05-15
02 Kazuho Oku New version available: draft-ietf-httpbis-early-hints-02.txt
2017-05-15
02 (System) New version approved
2017-05-15
02 (System) Request for posting confirmation emailed to previous authors: Kazuho Oku
2017-05-15
02 Kazuho Oku Uploaded new revision
2017-03-29
01 Kazuho Oku New version available: draft-ietf-httpbis-early-hints-01.txt
2017-03-29
01 (System) New version approved
2017-03-29
01 (System) Request for posting confirmation emailed to previous authors: Kazuho Oku
2017-03-29
01 Kazuho Oku Uploaded new revision
2017-03-21
00 Patrick McManus Added to session: IETF-98: httpbis  Fri-0900
2017-02-08
00 Kazuho Oku New version available: draft-ietf-httpbis-early-hints-00.txt
2017-02-08
00 (System) WG -00 approved
2017-02-07
00 Kazuho Oku Set submitter to "Kazuho Oku ", replaces to (none) and sent approval email to group chairs: httpbis-chairs@ietf.org
2017-02-07
00 Kazuho Oku Uploaded new revision