| draft-ietf-httpbis-early-hints-00.txt | draft-ietf-httpbis-early-hints-01.txt | |||
|---|---|---|---|---|
| HTTP Working Group K. Oku | HTTP Working Group K. Oku | |||
| Internet-Draft DeNA Co., Ltd. | Internet-Draft DeNA Co., Ltd. | |||
| Intended status: Experimental February 8, 2017 | Intended status: Experimental March 29, 2017 | |||
| Expires: August 12, 2017 | Expires: September 30, 2017 | |||
| An HTTP Status Code for Indicating Hints | An HTTP Status Code for Indicating Hints | |||
| draft-ietf-httpbis-early-hints-00 | draft-ietf-httpbis-early-hints-01 | |||
| Abstract | Abstract | |||
| This memo introduces an informational status code for HTTP that can | This memo introduces an informational status code for HTTP that can | |||
| be used for indicating hints to help a client start making | be used for indicating hints to help a client start making | |||
| preparations for processing the final response. | preparations for processing the final response. | |||
| Note to Readers | Note to Readers | |||
| Discussion of this draft takes place on the HTTP working group | Discussion of this draft takes place on the HTTP working group | |||
| skipping to change at page 1, line 42 ¶ | skipping to change at page 1, line 42 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | 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." | |||
| This Internet-Draft will expire on August 12, 2017. | This Internet-Draft will expire on September 30, 2017. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2017 IETF Trust and the persons identified as the | Copyright (c) 2017 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 2, line 20 ¶ | skipping to change at page 2, line 20 ¶ | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 1.1. Notational Conventions . . . . . . . . . . . . . . . . . 3 | 1.1. Notational Conventions . . . . . . . . . . . . . . . . . 3 | |||
| 2. 103 Early Hints . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. 103 Early Hints . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 3. Security Considerations . . . . . . . . . . . . . . . . . . . 3 | 3. Security Considerations . . . . . . . . . . . . . . . . . . . 4 | |||
| 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 | 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 4 | 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 6. Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 6.1. Normative References . . . . . . . . . . . . . . . . . . 4 | 6.1. Since draft-ietf-httpbis-early-hints-00 . . . . . . . . . 4 | |||
| 6.2. Informative References . . . . . . . . . . . . . . . . . 5 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 7.1. Normative References . . . . . . . . . . . . . . . . . . 5 | ||||
| 7.2. Informative References . . . . . . . . . . . . . . . . . 5 | ||||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 5 | Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 1. Introduction | 1. Introduction | |||
| Most if not all of the web pages processed by a web browser contain | Most if not all of the web pages processed by a web browser contain | |||
| links to external resources that need to be fetched prior to | links to external resources that need to be fetched prior to | |||
| rendering the documents. Therefore, it is beneficial to send such | rendering the documents. Therefore, it is beneficial to send such | |||
| links as early as possible in order to minimize the time spent until | links as early as possible in order to minimize the time spent until | |||
| the browser becomes possible to render the document. Link header of | the browser becomes possible to render the document. Link header of | |||
| type "preload" ([Preload]) can be used to indicate such links within | type "preload" ([Preload]) can be used to indicate such links within | |||
| skipping to change at page 3, line 39 ¶ | skipping to change at page 3, line 43 ¶ | |||
| A server MUST NOT include Content-Length, Transfer-Encoding, or any | A server MUST NOT include Content-Length, Transfer-Encoding, or any | |||
| hop-by-hop headers ([RFC7230], section 6.1) in the informational | hop-by-hop headers ([RFC7230], section 6.1) in the informational | |||
| response using the status code. | response using the status code. | |||
| A client MAY speculatively evaluate the headers included in the | A client MAY speculatively evaluate the headers included in the | |||
| informational response while waiting for the final response. For | informational response while waiting for the final response. For | |||
| example, a client may recognize the link header of type preload and | example, a client may recognize the link header of type preload and | |||
| start fetching the resource. However, the evaluation MUST NOT affect | start fetching the resource. However, the evaluation MUST NOT affect | |||
| how the final response is processed; the client must behave as if it | how the final response is processed; the client must behave as if it | |||
| had not seen the informational response. | had not seen the informational response. A client MUST NOT process | |||
| the headers included in the response as if they belonged to the | ||||
| informational response. | ||||
| An intermediary MAY drop the informational response. It MAY send | An intermediary MAY drop the informational response. It MAY send | |||
| HTTP/2 ([RFC7540]) push responses using the information found in the | HTTP/2 ([RFC7540]) push responses using the information found in the | |||
| informational response. | informational response. | |||
| 3. Security Considerations | 3. Security Considerations | |||
| Clients may have issues handling Early Hints, since informational | Clients may have issues handling Early Hints, since informational | |||
| response is rarely used for requests not including an Expect header | response is rarely used for requests not including an Expect header | |||
| ([RFC7231], section 5.1.1). | ([RFC7231], section 5.1.1). | |||
| skipping to change at page 4, line 36 ¶ | skipping to change at page 4, line 42 ¶ | |||
| o Description: Early Hints | o Description: Early Hints | |||
| o Specification: this document | o Specification: this document | |||
| 5. Acknowledgements | 5. Acknowledgements | |||
| Thanks to Tatsuhiro Tsujikawa for coming up with the idea of sending | Thanks to Tatsuhiro Tsujikawa for coming up with the idea of sending | |||
| the link headers using an informational response. | the link headers using an informational response. | |||
| 6. References | 6. Changes | |||
| 6.1. Normative References | 6.1. Since draft-ietf-httpbis-early-hints-00 | |||
| o Forbid processing the headers of a 103 response as part of the | ||||
| informational response. | ||||
| 7. References | ||||
| 7.1. Normative References | ||||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <http://www.rfc-editor.org/info/rfc2119>. | <http://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC7230] Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer | [RFC7230] Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer | |||
| Protocol (HTTP/1.1): Message Syntax and Routing", | Protocol (HTTP/1.1): Message Syntax and Routing", | |||
| RFC 7230, DOI 10.17487/RFC7230, June 2014, | RFC 7230, DOI 10.17487/RFC7230, June 2014, | |||
| <http://www.rfc-editor.org/info/rfc7230>. | <http://www.rfc-editor.org/info/rfc7230>. | |||
| skipping to change at page 5, line 15 ¶ | skipping to change at page 5, line 29 ¶ | |||
| [RFC7231] Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer | [RFC7231] Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer | |||
| Protocol (HTTP/1.1): Semantics and Content", RFC 7231, | Protocol (HTTP/1.1): Semantics and Content", RFC 7231, | |||
| DOI 10.17487/RFC7231, June 2014, | DOI 10.17487/RFC7231, June 2014, | |||
| <http://www.rfc-editor.org/info/rfc7231>. | <http://www.rfc-editor.org/info/rfc7231>. | |||
| [RFC7540] Belshe, M., Peon, R., and M. Thomson, Ed., "Hypertext | [RFC7540] Belshe, M., Peon, R., and M. Thomson, Ed., "Hypertext | |||
| Transfer Protocol Version 2 (HTTP/2)", RFC 7540, | Transfer Protocol Version 2 (HTTP/2)", RFC 7540, | |||
| DOI 10.17487/RFC7540, May 2015, | DOI 10.17487/RFC7540, May 2015, | |||
| <http://www.rfc-editor.org/info/rfc7540>. | <http://www.rfc-editor.org/info/rfc7540>. | |||
| 6.2. Informative References | 7.2. Informative References | |||
| [Preload] Grigorik, I., "Preload", September 2016, | [Preload] Grigorik, I., "Preload", September 2016, | |||
| <https://w3c.github.io/preload/>. | <https://w3c.github.io/preload/>. | |||
| Author's Address | Author's Address | |||
| Kazuho Oku | Kazuho Oku | |||
| DeNA Co., Ltd. | DeNA Co., Ltd. | |||
| Email: kazuhooku@gmail.com | Email: kazuhooku@gmail.com | |||
| End of changes. 9 change blocks. | ||||
| 12 lines changed or deleted | 23 lines changed or added | |||
This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||