init
This commit is contained in:
@@ -0,0 +1,116 @@
|
||||
Internet Engineering Task Force (IETF) M. Bishop, Ed.
|
||||
Request for Comments: 9114 Akamai
|
||||
Category: Standards Track June 2022
|
||||
ISSN: 2070-1721
|
||||
|
||||
|
||||
HTTP/3
|
||||
|
||||
Abstract
|
||||
|
||||
The QUIC transport protocol has several features that are desirable
|
||||
in a transport for HTTP, such as stream multiplexing, per-stream flow
|
||||
control, and low-latency connection establishment. This document
|
||||
describes a mapping of HTTP semantics over QUIC. This document also
|
||||
identifies HTTP/2 features that are subsumed by QUIC and describes
|
||||
how HTTP/2 extensions can be ported to HTTP/3.
|
||||
|
||||
Status of This Memo
|
||||
|
||||
This is an Internet Standards Track document.
|
||||
Information about the current status of this document, any errata,
|
||||
and how to provide feedback on it may be obtained at
|
||||
https://www.rfc-editor.org/info/rfc9114.
|
||||
|
||||
Table of Contents
|
||||
|
||||
1. Introduction
|
||||
1.1. Prior Versions of HTTP
|
||||
1.2. Delegation to QUIC
|
||||
2. HTTP/3 Protocol Overview
|
||||
2.1. Document Organization
|
||||
2.2. Conventions and Terminology
|
||||
3. Connection Setup and Management
|
||||
3.1. Discovering an HTTP/3 Endpoint
|
||||
3.1.1. HTTP Alternative Services
|
||||
3.1.2. Other Schemes
|
||||
3.2. Connection Establishment
|
||||
3.3. Connection Reuse
|
||||
4. Expressing HTTP Semantics in HTTP/3
|
||||
4.1. HTTP Message Framing
|
||||
4.1.1. Request Cancellation and Rejection
|
||||
4.1.2. Malformed Requests and Responses
|
||||
4.2. HTTP Fields
|
||||
4.2.1. Field Compression
|
||||
4.2.2. Header Size Constraints
|
||||
4.3. HTTP Control Data
|
||||
4.3.1. Request Pseudo-Header Fields
|
||||
4.3.2. Response Pseudo-Header Fields
|
||||
4.4. The CONNECT Method
|
||||
4.5. HTTP Upgrade
|
||||
4.6. Server Push
|
||||
5. Connection Closure
|
||||
5.1. Idle Connections
|
||||
5.2. Connection Shutdown
|
||||
5.3. Immediate Application Closure
|
||||
5.4. Transport Closure
|
||||
6. Stream Mapping and Usage
|
||||
6.1. Bidirectional Streams
|
||||
6.2. Unidirectional Streams
|
||||
6.2.1. Control Streams
|
||||
6.2.2. Push Streams
|
||||
6.2.3. Reserved Stream Types
|
||||
7. HTTP Framing Layer
|
||||
7.1. Frame Layout
|
||||
7.2. Frame Definitions
|
||||
7.2.1. DATA
|
||||
7.2.2. HEADERS
|
||||
7.2.3. CANCEL_PUSH
|
||||
7.2.4. SETTINGS
|
||||
7.2.5. PUSH_PROMISE
|
||||
7.2.6. GOAWAY
|
||||
7.2.7. MAX_PUSH_ID
|
||||
7.2.8. Reserved Frame Types
|
||||
8. Error Handling
|
||||
8.1. HTTP/3 Error Codes
|
||||
9. Extensions to HTTP/3
|
||||
10. Security Considerations
|
||||
10.1. Server Authority
|
||||
10.2. Cross-Protocol Attacks
|
||||
10.3. Intermediary-Encapsulation Attacks
|
||||
10.4. Cacheability of Pushed Responses
|
||||
10.5. Denial-of-Service Considerations
|
||||
10.6. Use of Compression
|
||||
10.7. Padding and Traffic Analysis
|
||||
10.8. Frame Parsing
|
||||
10.9. Early Data
|
||||
10.10. Migration
|
||||
10.11. Privacy Considerations
|
||||
11. IANA Considerations
|
||||
11.1. Registration of HTTP/3 Identification String
|
||||
11.2. New Registries
|
||||
11.2.1. Frame Types
|
||||
11.2.2. Settings Parameters
|
||||
11.2.3. Error Codes
|
||||
11.2.4. Stream Types
|
||||
12. References
|
||||
12.1. Normative References
|
||||
12.2. Informative References
|
||||
Appendix A. Considerations for Transitioning from HTTP/2
|
||||
A.1. Streams
|
||||
A.2. HTTP Frame Types
|
||||
A.3. HTTP/2 SETTINGS Parameters
|
||||
A.4. HTTP/2 Error Codes
|
||||
Acknowledgments
|
||||
Index
|
||||
Author's Address
|
||||
|
||||
[NOTE: This file contains the header, abstract, and table of contents
|
||||
of RFC 9114. The full specification text is available at:
|
||||
https://www.rfc-editor.org/rfc/rfc9114
|
||||
https://www.rfc-editor.org/rfc/rfc9114.txt (text)
|
||||
https://www.rfc-editor.org/rfc/rfc9114.pdf (PDF)
|
||||
|
||||
Full document: 57 pages, June 2022
|
||||
Author: Mike Bishop (Akamai), Editor
|
||||
DOI: 10.17487/RFC9114]
|
||||
Reference in New Issue
Block a user