draft-ietf-quic-http-22.txt   draft-ietf-quic-http-latest.txt 
QUIC Working Group M. Bishop, Ed. QUIC Working Group M. Bishop, Ed.
Internet-Draft Akamai Internet-Draft Akamai
Intended status: Standards Track July 9, 2019 Intended status: Standards Track July 19, 2019
Expires: January 10, 2020 Expires: January 20, 2020
Hypertext Transfer Protocol Version 3 (HTTP/3) Hypertext Transfer Protocol Version 3 (HTTP/3)
draft-ietf-quic-http-22 draft-ietf-quic-http-latest
Abstract Abstract
The QUIC transport protocol has several features that are desirable The QUIC transport protocol has several features that are desirable
in a transport for HTTP, such as stream multiplexing, per-stream flow in a transport for HTTP, such as stream multiplexing, per-stream flow
control, and low-latency connection establishment. This document control, and low-latency connection establishment. This document
describes a mapping of HTTP semantics over QUIC. This document also describes a mapping of HTTP semantics over QUIC. This document also
identifies HTTP/2 features that are subsumed by QUIC, and describes identifies HTTP/2 features that are subsumed by QUIC, and describes
how HTTP/2 extensions can be ported to HTTP/3. how HTTP/2 extensions can be ported to HTTP/3.
skipping to change at page 1, line 45 skipping to change at page 1, line 45
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 https://datatracker.ietf.org/drafts/current/. Drafts is at https://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 January 10, 2020. This Internet-Draft will expire on January 20, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 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
(https://trustee.ietf.org/license-info) in effect on the date of (https://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 3, line 50 skipping to change at page 3, line 50
A.2.4. Mapping Between HTTP/2 and HTTP/3 Frame Types . . . . 52 A.2.4. Mapping Between HTTP/2 and HTTP/3 Frame Types . . . . 52
A.3. HTTP/2 SETTINGS Parameters . . . . . . . . . . . . . . . 53 A.3. HTTP/2 SETTINGS Parameters . . . . . . . . . . . . . . . 53
A.4. HTTP/2 Error Codes . . . . . . . . . . . . . . . . . . . 54 A.4. HTTP/2 Error Codes . . . . . . . . . . . . . . . . . . . 54
Appendix B. Change Log . . . . . . . . . . . . . . . . . . . . . 55 Appendix B. Change Log . . . . . . . . . . . . . . . . . . . . . 55
B.1. Since draft-ietf-quic-http-21 . . . . . . . . . . . . . . 55 B.1. Since draft-ietf-quic-http-21 . . . . . . . . . . . . . . 55
B.2. Since draft-ietf-quic-http-20 . . . . . . . . . . . . . . 55 B.2. Since draft-ietf-quic-http-20 . . . . . . . . . . . . . . 55
B.3. Since draft-ietf-quic-http-19 . . . . . . . . . . . . . . 56 B.3. Since draft-ietf-quic-http-19 . . . . . . . . . . . . . . 56
B.4. Since draft-ietf-quic-http-18 . . . . . . . . . . . . . . 56 B.4. Since draft-ietf-quic-http-18 . . . . . . . . . . . . . . 56
B.5. Since draft-ietf-quic-http-17 . . . . . . . . . . . . . . 57 B.5. Since draft-ietf-quic-http-17 . . . . . . . . . . . . . . 57
B.6. Since draft-ietf-quic-http-16 . . . . . . . . . . . . . . 57 B.6. Since draft-ietf-quic-http-16 . . . . . . . . . . . . . . 57
B.7. Since draft-ietf-quic-http-15 . . . . . . . . . . . . . . 58 B.7. Since draft-ietf-quic-http-15 . . . . . . . . . . . . . . 57
B.8. Since draft-ietf-quic-http-14 . . . . . . . . . . . . . . 58 B.8. Since draft-ietf-quic-http-14 . . . . . . . . . . . . . . 58
B.9. Since draft-ietf-quic-http-13 . . . . . . . . . . . . . . 58 B.9. Since draft-ietf-quic-http-13 . . . . . . . . . . . . . . 58
B.10. Since draft-ietf-quic-http-12 . . . . . . . . . . . . . . 58 B.10. Since draft-ietf-quic-http-12 . . . . . . . . . . . . . . 58
B.11. Since draft-ietf-quic-http-11 . . . . . . . . . . . . . . 59 B.11. Since draft-ietf-quic-http-11 . . . . . . . . . . . . . . 59
B.12. Since draft-ietf-quic-http-10 . . . . . . . . . . . . . . 59 B.12. Since draft-ietf-quic-http-10 . . . . . . . . . . . . . . 59
B.13. Since draft-ietf-quic-http-09 . . . . . . . . . . . . . . 59 B.13. Since draft-ietf-quic-http-09 . . . . . . . . . . . . . . 59
B.14. Since draft-ietf-quic-http-08 . . . . . . . . . . . . . . 59 B.14. Since draft-ietf-quic-http-08 . . . . . . . . . . . . . . 59
B.15. Since draft-ietf-quic-http-07 . . . . . . . . . . . . . . 59 B.15. Since draft-ietf-quic-http-07 . . . . . . . . . . . . . . 59
B.16. Since draft-ietf-quic-http-06 . . . . . . . . . . . . . . 59 B.16. Since draft-ietf-quic-http-06 . . . . . . . . . . . . . . 59
B.17. Since draft-ietf-quic-http-05 . . . . . . . . . . . . . . 59 B.17. Since draft-ietf-quic-http-05 . . . . . . . . . . . . . . 59
skipping to change at page 48, line 29 skipping to change at page 48, line 29
Data in HTTP", RFC 8470, DOI 10.17487/RFC8470, September Data in HTTP", RFC 8470, DOI 10.17487/RFC8470, September
2018, <https://www.rfc-editor.org/info/rfc8470>. 2018, <https://www.rfc-editor.org/info/rfc8470>.
[HTTP2] Belshe, M., Peon, R., and M. Thomson, Ed., "Hypertext [HTTP2] 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,
<https://www.rfc-editor.org/info/rfc7540>. <https://www.rfc-editor.org/info/rfc7540>.
[QPACK] Krasic, C., Bishop, M., and A. Frindell, Ed., "QPACK: [QPACK] Krasic, C., Bishop, M., and A. Frindell, Ed., "QPACK:
Header Compression for HTTP over QUIC", draft-ietf-quic- Header Compression for HTTP over QUIC", draft-ietf-quic-
qpack-09 (work in progress). qpack-latest (work in progress).
[QUIC-TRANSPORT] [QUIC-TRANSPORT]
Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based
Multiplexed and Secure Transport", draft-ietf-quic- Multiplexed and Secure Transport", draft-ietf-quic-
transport-22 (work in progress). transport-latest (work in progress).
[RFC0793] Postel, J., "Transmission Control Protocol", STD 7, [RFC0793] Postel, J., "Transmission Control Protocol", STD 7,
RFC 793, DOI 10.17487/RFC0793, September 1981, RFC 793, DOI 10.17487/RFC0793, September 1981,
<https://www.rfc-editor.org/info/rfc793>. <https://www.rfc-editor.org/info/rfc793>.
[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,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
skipping to change at page 49, line 40 skipping to change at page 49, line 40
Writing an IANA Considerations Section in RFCs", BCP 26, Writing an IANA Considerations Section in RFCs", BCP 26,
RFC 8126, DOI 10.17487/RFC8126, June 2017, RFC 8126, DOI 10.17487/RFC8126, June 2017,
<https://www.rfc-editor.org/info/rfc8126>. <https://www.rfc-editor.org/info/rfc8126>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
12.2. Informative References 12.2. Informative References
[HPACK] Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer [HPACK] Peon, R. and H. Ruellan, "HPACK: Header Compression for
Protocol (HTTP/1.1): Semantics and Content", RFC 7231, HTTP/2", RFC 7541, DOI 10.17487/RFC7541, May 2015,
DOI 10.17487/RFC7231, June 2014, <https://www.rfc-editor.org/info/rfc7541>.
<https://www.rfc-editor.org/info/rfc7231>.
[RFC6585] Nottingham, M. and R. Fielding, "Additional HTTP Status [RFC6585] Nottingham, M. and R. Fielding, "Additional HTTP Status
Codes", RFC 6585, DOI 10.17487/RFC6585, April 2012, Codes", RFC 6585, DOI 10.17487/RFC6585, April 2012,
<https://www.rfc-editor.org/info/rfc6585>. <https://www.rfc-editor.org/info/rfc6585>.
[RFC7301] Friedl, S., Popov, A., Langley, A., and E. Stephan, [RFC7301] Friedl, S., Popov, A., Langley, A., and E. Stephan,
"Transport Layer Security (TLS) Application-Layer Protocol "Transport Layer Security (TLS) Application-Layer Protocol
Negotiation Extension", RFC 7301, DOI 10.17487/RFC7301, Negotiation Extension", RFC 7301, DOI 10.17487/RFC7301,
July 2014, <https://www.rfc-editor.org/info/rfc7301>. July 2014, <https://www.rfc-editor.org/info/rfc7301>.
skipping to change at page 54, line 45 skipping to change at page 54, line 45
PROTOCOL_ERROR (0x1): This is mapped to HTTP_GENERAL_PROTOCOL_ERROR PROTOCOL_ERROR (0x1): This is mapped to HTTP_GENERAL_PROTOCOL_ERROR
except in cases where more specific error codes have been defined. except in cases where more specific error codes have been defined.
This includes HTTP_MALFORMED_FRAME, HTTP_WRONG_STREAM, This includes HTTP_MALFORMED_FRAME, HTTP_WRONG_STREAM,
HTTP_UNEXPECTED_FRAME and HTTP_CLOSED_CRITICAL_STREAM defined in HTTP_UNEXPECTED_FRAME and HTTP_CLOSED_CRITICAL_STREAM defined in
Section 8.1. Section 8.1.
INTERNAL_ERROR (0x2): HTTP_INTERNAL_ERROR in Section 8.1. INTERNAL_ERROR (0x2): HTTP_INTERNAL_ERROR in Section 8.1.
FLOW_CONTROL_ERROR (0x3): Not applicable, since QUIC handles flow FLOW_CONTROL_ERROR (0x3): Not applicable, since QUIC handles flow
control. Would provoke a QUIC_FLOW_CONTROL_RECEIVED_TOO_MUCH_DATA control.
from the QUIC layer.
SETTINGS_TIMEOUT (0x4): Not applicable, since no acknowledgement of SETTINGS_TIMEOUT (0x4): Not applicable, since no acknowledgement of
SETTINGS is defined. SETTINGS is defined.
STREAM_CLOSED (0x5): Not applicable, since QUIC handles stream STREAM_CLOSED (0x5): Not applicable, since QUIC handles stream
management. Would provoke a QUIC_STREAM_DATA_AFTER_TERMINATION management.
from the QUIC layer.
FRAME_SIZE_ERROR (0x6): HTTP_MALFORMED_FRAME error codes defined in FRAME_SIZE_ERROR (0x6): HTTP_MALFORMED_FRAME error codes defined in
Section 8.1. Section 8.1.
REFUSED_STREAM (0x7): HTTP_REQUEST_REJECTED (in Section 8.1) is used REFUSED_STREAM (0x7): HTTP_REQUEST_REJECTED (in Section 8.1) is used
to indicate that a request was not processed. Otherwise, not to indicate that a request was not processed. Otherwise, not
applicable because QUIC handles stream management. A applicable because QUIC handles stream management.
STREAM_ID_ERROR at the QUIC layer is used for streams that are
improperly opened.
CANCEL (0x8): HTTP_REQUEST_CANCELLED in Section 8.1. CANCEL (0x8): HTTP_REQUEST_CANCELLED in Section 8.1.
COMPRESSION_ERROR (0x9): Multiple error codes are defined in COMPRESSION_ERROR (0x9): Multiple error codes are defined in
[QPACK]. [QPACK].
CONNECT_ERROR (0xa): HTTP_CONNECT_ERROR in Section 8.1. CONNECT_ERROR (0xa): HTTP_CONNECT_ERROR in Section 8.1.
ENHANCE_YOUR_CALM (0xb): HTTP_EXCESSIVE_LOAD in Section 8.1. ENHANCE_YOUR_CALM (0xb): HTTP_EXCESSIVE_LOAD in Section 8.1.
 End of changes. 10 change blocks. 
18 lines changed or deleted 13 lines changed or added

This html diff was produced by rfcdiff 1.44jr. The latest version is available from http://tools.ietf.org/tools/rfcdiff/