| draft-ietf-httpbis-cache-digest-03.txt | draft-ietf-httpbis-cache-digest-04.txt | |||
|---|---|---|---|---|
| HTTP Working Group K. Oku | HTTP Working Group K. Oku | |||
| Internet-Draft Fastly | Internet-Draft Fastly | |||
| Intended status: Experimental M. Nottingham | Intended status: Experimental Y. Weiss | |||
| Expires: September 2, 2018 March 1, 2018 | Expires: October 8, 2018 Akamai | |||
| April 6, 2018 | ||||
| Cache Digests for HTTP/2 | Cache Digests for HTTP/2 | |||
| draft-ietf-httpbis-cache-digest-03 | draft-ietf-httpbis-cache-digest-04 | |||
| Abstract | Abstract | |||
| This specification defines a HTTP/2 frame type to allow clients to | This specification defines a HTTP/2 frame type to allow clients to | |||
| inform the server of their cache's contents. Servers can then use | inform the server of their cache's contents. Servers can then use | |||
| this to inform their choices of what to push to clients. | this to inform their choices of what to push to clients. | |||
| 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 43 ¶ | |||
| 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 September 2, 2018. | This Internet-Draft will expire on October 8, 2018. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2018 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 40 ¶ | skipping to change at page 2, line 40 ¶ | |||
| 3. The SENDING_CACHE_DIGEST SETTINGS Parameter . . . . . . . . . 12 | 3. The SENDING_CACHE_DIGEST SETTINGS Parameter . . . . . . . . . 12 | |||
| 4. The ACCEPT_CACHE_DIGEST SETTINGS Parameter . . . . . . . . . 12 | 4. The ACCEPT_CACHE_DIGEST SETTINGS Parameter . . . . . . . . . 12 | |||
| 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 6. Security Considerations . . . . . . . . . . . . . . . . . . . 14 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 14 | |||
| 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 7.1. Normative References . . . . . . . . . . . . . . . . . . 14 | 7.1. Normative References . . . . . . . . . . . . . . . . . . 14 | |||
| 7.2. Informative References . . . . . . . . . . . . . . . . . 15 | 7.2. Informative References . . . . . . . . . . . . . . . . . 15 | |||
| Appendix A. Encoding the CACHE_DIGEST frame as an HTTP Header . 16 | Appendix A. Encoding the CACHE_DIGEST frame as an HTTP Header . 16 | |||
| Appendix B. Acknowledgements . . . . . . . . . . . . . . . . . . 17 | Appendix B. Acknowledgements . . . . . . . . . . . . . . . . . . 17 | |||
| Appendix C. Changes . . . . . . . . . . . . . . . . . . . . . . 17 | Appendix C. Changes . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| C.1. Since draft-ietf-httpbis-cache-digest-02 . . . . . . . . 17 | C.1. Since draft-ietf-httpbis-cache-digest-03 . . . . . . . . 17 | |||
| C.2. Since draft-ietf-httpbis-cache-digest-01 . . . . . . . . 17 | C.2. Since draft-ietf-httpbis-cache-digest-02 . . . . . . . . 17 | |||
| C.3. Since draft-ietf-httpbis-cache-digest-00 . . . . . . . . 17 | C.3. Since draft-ietf-httpbis-cache-digest-01 . . . . . . . . 17 | |||
| C.4. Since draft-ietf-httpbis-cache-digest-00 . . . . . . . . 18 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
| 1. Introduction | 1. Introduction | |||
| HTTP/2 [RFC7540] allows a server to "push" synthetic request/response | HTTP/2 [RFC7540] allows a server to "push" synthetic request/response | |||
| pairs into a client's cache optimistically. While there is strong | pairs into a client's cache optimistically. While there is strong | |||
| interest in using this facility to improve perceived Web browsing | interest in using this facility to improve perceived Web browsing | |||
| performance, it is sometimes counterproductive because the client | performance, it is sometimes counterproductive because the client | |||
| might already have cached the "pushed" response. | might already have cached the "pushed" response. | |||
| skipping to change at page 15, line 44 ¶ | skipping to change at page 15, line 44 ¶ | |||
| 7.2. Informative References | 7.2. Informative References | |||
| [Cuckoo] "Cuckoo Filter: Practically Better Than Bloom", n.d., | [Cuckoo] "Cuckoo Filter: Practically Better Than Bloom", n.d., | |||
| <https://www.cs.cmu.edu/~dga/papers/cuckoo- | <https://www.cs.cmu.edu/~dga/papers/cuckoo- | |||
| conext2014.pdf>. | conext2014.pdf>. | |||
| [Fetch] "Fetch Standard", n.d., <https://fetch.spec.whatwg.org/>. | [Fetch] "Fetch Standard", n.d., <https://fetch.spec.whatwg.org/>. | |||
| [I-D.ietf-tls-tls13] | [I-D.ietf-tls-tls13] | |||
| Rescorla, E., "The Transport Layer Security (TLS) Protocol | Rescorla, E., "The Transport Layer Security (TLS) Protocol | |||
| Version 1.3", draft-ietf-tls-tls13-24 (work in progress), | Version 1.3", draft-ietf-tls-tls13-28 (work in progress), | |||
| February 2018. | March 2018. | |||
| [RFC3864] Klyne, G., Nottingham, M., and J. Mogul, "Registration | [RFC3864] Klyne, G., Nottingham, M., and J. Mogul, "Registration | |||
| Procedures for Message Header Fields", BCP 90, RFC 3864, | Procedures for Message Header Fields", BCP 90, RFC 3864, | |||
| DOI 10.17487/RFC3864, September 2004, <https://www.rfc- | DOI 10.17487/RFC3864, September 2004, <https://www.rfc- | |||
| editor.org/info/rfc3864>. | editor.org/info/rfc3864>. | |||
| [RFC4648] Josefsson, S., "The Base16, Base32, and Base64 Data | [RFC4648] Josefsson, S., "The Base16, Base32, and Base64 Data | |||
| Encodings", RFC 4648, DOI 10.17487/RFC4648, October 2006, | Encodings", RFC 4648, DOI 10.17487/RFC4648, October 2006, | |||
| <https://www.rfc-editor.org/info/rfc4648>. | <https://www.rfc-editor.org/info/rfc4648>. | |||
| skipping to change at page 17, line 29 ¶ | skipping to change at page 17, line 29 ¶ | |||
| transmitted using a single HTTP/2 connection. | transmitted using a single HTTP/2 connection. | |||
| Also, due to the fact that any header that is supplied to Fetch is | Also, due to the fact that any header that is supplied to Fetch is | |||
| required to be end-to-end, there is an ambiguity in what a Cache- | required to be end-to-end, there is an ambiguity in what a Cache- | |||
| Digest header respresents when a request is transmitted through a | Digest header respresents when a request is transmitted through a | |||
| proxy. The header may represent the cache state of a client or that | proxy. The header may represent the cache state of a client or that | |||
| of a proxy, depending on how the proxy handles the header. | of a proxy, depending on how the proxy handles the header. | |||
| Appendix B. Acknowledgements | Appendix B. Acknowledgements | |||
| Thanks to Yoav Weiss for his idea and text to use Cuckoo Filter. | ||||
| Thanks to Stefan Eissing for his suggestions. | Thanks to Stefan Eissing for his suggestions. | |||
| Appendix C. Changes | Appendix C. Changes | |||
| C.1. Since draft-ietf-httpbis-cache-digest-02 | C.1. Since draft-ietf-httpbis-cache-digest-03 | |||
| o Yoav becomes an author; Mark steps down. | ||||
| C.2. Since draft-ietf-httpbis-cache-digest-02 | ||||
| o Switch to Cuckoo Filter. | o Switch to Cuckoo Filter. | |||
| C.2. Since draft-ietf-httpbis-cache-digest-01 | C.3. Since draft-ietf-httpbis-cache-digest-01 | |||
| o Added definition of the Cache-Digest header. | o Added definition of the Cache-Digest header. | |||
| o Introduce ACCEPT_CACHE_DIGEST SETTINGS parameter. | o Introduce ACCEPT_CACHE_DIGEST SETTINGS parameter. | |||
| o Change intended status from Standard to Experimental. | o Change intended status from Standard to Experimental. | |||
| C.3. Since draft-ietf-httpbis-cache-digest-00 | C.4. Since draft-ietf-httpbis-cache-digest-00 | |||
| o Make the scope of a digest frame explicit and shift to stream 0. | o Make the scope of a digest frame explicit and shift to stream 0. | |||
| Authors' Addresses | Authors' Addresses | |||
| Kazuho Oku | Kazuho Oku | |||
| Fastly | Fastly | |||
| Email: kazuhooku@gmail.com | Email: kazuhooku@gmail.com | |||
| Mark Nottingham | Yoav Weiss | |||
| Akamai | ||||
| Email: mnot@mnot.net | Email: yoav@yoav.ws | |||
| URI: https://www.mnot.net/ | URI: https://blog.yoav.ws/ | |||
| End of changes. 11 change blocks. | ||||
| 15 lines changed or deleted | 20 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/ | ||||