@@ -141,9 +141,9 @@ HTTP/2.
141
141
142
142
# Connection establishment {#connection-establishment}
143
143
144
- HTTP-over- QUIC connections are established as described in {{QUIC-TRANSPORT}}.
145
- During connection establishment, HTTP/QUIC support is indicated by selecting the
146
- ALPN token "hq" in the crypto handshake.
144
+ HTTP/ QUIC connections are established as described in {{QUIC-TRANSPORT}}. During
145
+ connection establishment, HTTP/QUIC support is indicated by selecting the ALPN
146
+ token "hq" in the crypto handshake.
147
147
148
148
While connection-level options pertaining to the core QUIC protocol are set in
149
149
the initial crypto handshake, HTTP-specific settings are conveyed
@@ -265,8 +265,8 @@ other reasons.
265
265
266
266
# ## Header Compression
267
267
268
- HTTP-over- QUIC uses HPACK header compression as described in {{!RFC7541}}. HPACK
269
- was designed for HTTP/2 with the assumption of in- order delivery such as that
268
+ HTTP/ QUIC uses HPACK header compression as described in {{!RFC7541}}. HPACK was
269
+ designed for HTTP/2 with the assumption of in- order delivery such as that
270
270
provided by TCP. A sequence of encoded header blocks must arrive (and be
271
271
decoded) at an endpoint in the same order in which they were encoded. This
272
272
ensures that the dynamic state at the two endpoints remains in sync.
@@ -289,22 +289,21 @@ do we need to retain compatibility with HTTP/2's HPACK?
289
289
290
290
# # Stream Priorities {#priority}
291
291
292
- HTTP-over-QUIC uses the priority scheme described in {{!RFC7540}} Section 5.3.
293
- In this priority scheme, a given stream can be designated as dependent upon
294
- another stream, which expresses the preference that the latter stream (the
295
- " parent" stream) be allocated resources before the former stream (the
296
- " dependent" stream). Taken together, the dependencies across all streams in a
297
- connection form a dependency tree. The structure of the dependency tree changes
298
- as HEADERS and PRIORITY frames add, remove, or change the dependency links
299
- between streams.
292
+ HTTP/QUIC uses the priority scheme described in {{!RFC7540}} Section 5.3. In
293
+ this priority scheme, a given stream can be designated as dependent upon another
294
+ stream, which expresses the preference that the latter stream (the "parent"
295
+ stream) be allocated resources before the former stream (the "dependent"
296
+ stream). Taken together, the dependencies across all streams in a connection
297
+ form a dependency tree. The structure of the dependency tree changes as HEADERS
298
+ and PRIORITY frames add, remove, or change the dependency links between streams.
300
299
301
300
Implicit in this scheme is the notion of in-order delivery of priority changes
302
301
(i.e., dependency tree mutations) : since operations on the dependency tree such
303
302
as reparenting a subtree are not commutative, both sender and receiver must
304
303
apply them in the same order to ensure that both sides have a consistent view of
305
304
the stream dependency tree. HTTP/2 specifies priority assignments in PRIORITY
306
305
frames and (optionally) in HEADERS frames. To achieve in-order delivery of
307
- priority changes in HTTP-over- QUIC, PRIORITY frames are sent on the connection
306
+ priority changes in HTTP/ QUIC, PRIORITY frames are sent on the connection
308
307
control stream and the PRIORITY section is removed from the HEADERS frame. The
309
308
semantics of the Stream Dependency, Weight, E flag, and (for HEADERS frames)
310
309
PRIORITY flag are the same as in HTTP/2.
@@ -324,9 +323,9 @@ HTTP level.
324
323
325
324
# # Server Push
326
325
327
- HTTP-over- QUIC supports server push as described in {{!RFC7540}}. During
328
- connection establishment, the client indicates whether it is willing to receive
329
- server pushes via the SETTINGS_ENABLE_PUSH setting in the SETTINGS frame (see
326
+ HTTP/ QUIC supports server push as described in {{!RFC7540}}. During connection
327
+ establishment, the client indicates whether it is willing to receive server
328
+ pushes via the SETTINGS_ENABLE_PUSH setting in the SETTINGS frame (see
330
329
{{connection-establishment}}), which defaults to 1 (true).
331
330
332
331
As with server push for HTTP/2, the server initiates a server push by sending a
@@ -561,8 +560,8 @@ bytes than would be used to transfer the maximum permitted value.
561
560
# ### Defined SETTINGS Parameters
562
561
563
562
Some transport-level options that HTTP/2 specifies via the SETTINGS frame are
564
- superseded by QUIC transport parameters in HTTP-over- QUIC. Below is a listing of
565
- how each HTTP/2 SETTINGS parameter is mapped :
563
+ superseded by QUIC transport parameters in HTTP/ QUIC. Below is a listing of how
564
+ each HTTP/2 SETTINGS parameter is mapped :
566
565
567
566
SETTINGS_HEADER_TABLE_SIZE :
568
567
: An integer with a maximum value of 2^32 - 1.
0 commit comments