RFC 9113 Quiz

HTTP/2 multiplexing without semantic changes

0 / 0

References (URLs)

Q1: What is a key capability added by HTTP/2 compared to HTTP/1.1

Multiple Choice
**Explanation:** multiplexing, stream, connection. HTTP/2 introduces a binary framing layer where independent streams can share one connection. Multiplexing reduces head-of-line blocking at the HTTP application layer compared to HTTP/1.1 pipelining. - A (incorrect): HTTP semantics remain defined by RFC 9110. - B (correct): This is the major transport-level change. - C (incorrect): HTTP/2 typically runs over TLS, but it does not replace TLS. HTTP/2 improves efficiency but still runs over TCP, so transport-level head-of-line can still exist.

Q2: What is the fundamental unit on the wire in HTTP/2

Multiple Choice
**Explanation:** frame, binary framing layer. HTTP/2 encodes data as a sequence of frames with a standard header. Frames carry headers, data, settings, and control signals. - A (incorrect): CRLF lines are HTTP/1.1 syntax. - B (incorrect): Chunked transfer coding is an HTTP/1.1 framing mechanism. - C (correct): Frames are the basis of HTTP/2 transport. Application semantics are expressed via sequences of frames on streams.

Q3: In HTTP/2, what are the stream ID parity rules

Multiple Choice
**Explanation:** stream ID, initiator. Stream IDs indicate order and who created the stream. Clients use odd-numbered stream IDs. Servers use even-numbered stream IDs. - A (correct): This rule helps endpoints detect protocol errors. - B (incorrect): This reverses the defined rule. - C (incorrect): Parity is meaningful in HTTP/2. Stream ID ordering is also used to prevent reuse and to detect invalid frames on closed streams.

Q4: Which update lets stream 5 resume sending DATA?

Multiple Choice

An HTTP/2 sender has exhausted both the flow-control window for stream 5 and the connection window. The receiver has consumed enough DATA and wants transmission on stream 5 to continue.

**Explanation:** A: Stream credit remains unusable while the connection window is zero. B: Connection credit alone does not release stream 5's own zero window. C: RFC 9113 Sections 5.2 and 6.9 define independent stream and connection windows for DATA; both exhausted limits must increase. D: SETTINGS_MAX_CONCURRENT_STREAMS limits creation of streams and does not replenish DATA credit. Decision rule: Diagnose every exhausted flow-control scope. A sender can emit DATA only when both its stream and connection windows permit it.

Q5: How must the gateway forward these HTTP fields?

Multiple Choice

A gateway terminates one HTTP/2 connection and opens a separate HTTP/2 connection to a backend. For efficiency, it plans to copy the client's raw HPACK field block into a HEADERS frame on the backend connection.

**Explanation:** A: HPACK dynamic-table state is not shared across connections, even when the origin is the same. B: RFC 9113 Section 4.3.1 defines one encoder and decoder context per endpoint per connection. Translation across a gateway requires semantic fields to be decoded and re-encoded for the next context. C: Stream-ID replacement does not repair dynamic-table references created on the first connection. D: A later SETTINGS value cannot retroactively make an already encoded field block decodable. Decision rule: Compression bytes are connection-bound protocol state; only the reconstructed HTTP fields can safely cross the gateway boundary.

Q6: Which retry decision follows from this GOAWAY?

Multiple Choice

A client sent non-idempotent POST requests on streams 5 and 9. Before either response arrives, the server sends GOAWAY with Last-Stream-ID 7. No application-level deduplication contract exists.

**Explanation:** A: RFC 9113 Section 6.8 says streams up to and including Last-Stream-ID might have been processed. B: Streams with IDs above the value are not and will not be processed, so stream 9 has a definite transport outcome. C: Section 6.8 permits stream 9 to be treated as never created. Stream 5 might have taken effect; RFC 9110 Section 9.2.2 requires application knowledge before automatically repeating its non-idempotent POST. D: The interpretation is reversed: lower or equal IDs might have been processed, while higher IDs are excluded. Decision rule: GOAWAY establishes a processing boundary, not universal retry safety. Combine that boundary with the method's effect and any application deduplication guarantee.