@@ -118,7 +118,7 @@ The QUIC crypto handshake MUST use TLS {{QUIC-TLS}}.
118
118
While connection-level options pertaining to the core QUIC protocol are set in
119
119
the initial crypto handshake {{QUIC-TLS}}, HTTP-specific settings are conveyed
120
120
in the SETTINGS frame. After the QUIC connection is established, a SETTINGS
121
- frame ({{SETTINGS }}) MUST be sent as the initial frame of the HTTP control
121
+ frame ({{frame-settings }}) MUST be sent as the initial frame of the HTTP control
122
122
stream (StreamID 3, see {{stream-mapping}}).
123
123
124
124
# Stream Mapping and Usage {#stream-mapping}
@@ -333,7 +333,7 @@ All frames have the following format:
333
333
334
334
DATA frames do not exist. Frame type 0x0 is reserved.
335
335
336
- # ## HEADERS
336
+ # ## HEADERS {#frame-headers}
337
337
338
338
The HEADERS frame (type=0x1) is used to carry part of a header set, compressed
339
339
using HPACK {{!RFC7541}}. Because HEADERS frames from different streams will be
@@ -427,7 +427,7 @@ The HEADERS frame payload has the following fields:
427
427
RST_STREAM frames do not exist, since QUIC provides stream lifecycle management.
428
428
Frame type 0x3 is reserved.
429
429
430
- # ## SETTINGS {#SETTINGS }
430
+ # ## SETTINGS {#frame-settings }
431
431
432
432
The SETTINGS frame (type=0x04) is unmodified from {{!RFC7540}} (so far). It MUST
433
433
only be sent on the connection control stream (Stream 3).
@@ -476,7 +476,7 @@ parameters are acknowledged by the receiving peer, by sending an empty SETTINGS
476
476
frame in response with the ACK bit set.
477
477
478
478
479
- # ## PUSH_PROMISE
479
+ # ## PUSH_PROMISE {#frame-push-promise}
480
480
481
481
The PUSH_PROMISE frame (type=0x05) is used to carry a request header set from
482
482
server to client, as in HTTP/2. It defines no flags.
@@ -520,11 +520,19 @@ type 0x6 is reserved.
520
520
GOAWAY frames do not exist, since QUIC provides equivalent functionality. Frame
521
521
type 0x7 is reserved.
522
522
523
+
523
524
# ## WINDOW_UPDATE frame
524
525
525
526
WINDOW_UPDATE frames do not exist, since QUIC provides equivalent functionality.
526
527
Frame type 0x8 is reserved.
527
528
529
+
530
+ # ## CONTINUATION frame
531
+
532
+ CONTINUATION frames do not exist, since larger supported HEADERS/PUSH_PROMISE
533
+ frames provide equivalent functionality. Frame type 0x9 is reserved.
534
+
535
+
528
536
# Error Handling {#errors}
529
537
530
538
The HTTP/2 error codes defined in Section 7 of {{!RFC7540}} map to QUIC error
@@ -584,9 +592,35 @@ HTTP/2.
584
592
585
593
# IANA Considerations
586
594
587
- This document has no IANA actions. Yet.
595
+ # # Frame Types
588
596
597
+ This document adds two new columns to the "HTTP/2 Frame Type" registry defined in
598
+ {{!RFC7540}}:
589
599
600
+ Supported in HTTP/QUIC :
601
+ : Indicates whether the frame is also supported in this HTTP/QUIC mapping
602
+
603
+ HTTP/QUIC Specification :
604
+ : Indicates where this frame's behavior over QUIC is defined; required
605
+ if the frame is supported over QUIC.
606
+
607
+ Values for existing registrations are assigned by this document :
608
+
609
+ +---------------|------------------------|-------------------------+
610
+ | Frame Type | Supported in HTTP/QUIC | HTTP/QUIC Specification |
611
+ |---------------|:----------------------:|-------------------------|
612
+ | DATA | No | N/A |
613
+ | HEADERS | Yes | {{frame-headers}} |
614
+ | PRIORITY | Yes | {{frame-priority}} |
615
+ | RST_STREAM | No | N/A |
616
+ | SETTINGS | Yes | {{frame-settings}} |
617
+ | PUSH_PROMISE | Yes | {{frame-push-promise}} |
618
+ | PING | No | N/A |
619
+ | GOAWAY | No | N/A |
620
+ | WINDOW_UPDATE | No | N/A |
621
+ | CONTINUATION | No | N/A |
622
+ +---------------|------------------------|-------------------------+
623
+
590
624
--- back
591
625
592
626
# Contributors
0 commit comments