RFC 9113 Quiz

HTTP/2 multiplexing without semantic changes

0 / 0

References (URLs)

Goal: reason about stream lifecycle, flow control, and connection shutdown.

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

Multiple Choice
**Explanation:** **Terms:** multiplexing, stream, connection. HTTP/2 introduces a binary framing layer where independent streams can share one connection. **Correct (B):** Multiplexing reduces head-of-line blocking at the HTTP application layer compared to HTTP/1.1 pipelining. **Options:** - 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. **Related:** 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:** **Terms:** frame, binary framing layer. HTTP/2 encodes data as a sequence of frames with a standard header. **Correct (C):** Frames carry headers, data, settings, and control signals. **Options:** - 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. **Related:** Application semantics are expressed via sequences of frames on streams.

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

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

Q4: Which statements about HTTP/2 flow control are true (select all)

Multi-Select
**Explanation:** **Terms:** flow control, window, DATA, WINDOW_UPDATE. Flow control protects endpoints from being overwhelmed by too much incoming data. **Correct (A,C,D):** Flow control is a window-based mechanism for DATA and it is tracked per stream and for the overall connection. **Options:** - A (correct): The window limits how much DATA can be sent before receiving updates. - B (incorrect): Flow control is primarily about DATA. Header frames are managed differently. - C (correct): Both per-stream and connection-level windows exist. - D (correct): WINDOW_UPDATE increases the flow-control window. **Related:** Misconfigured windows can cause stalls that look like network problems but are actually protocol backpressure.

Q5: What is the purpose of the SETTINGS frame

Multiple Choice
**Explanation:** **Terms:** SETTINGS, connection parameters. Endpoints use SETTINGS to advertise limits and preferences like frame size and concurrent streams. **Correct (B):** SETTINGS is a control mechanism to tune and constrain the connection. **Options:** - A (incorrect): DATA frames carry payload. - B (correct): SETTINGS carries connection configuration. - C (incorrect): HTTP/2 uses different signals for acknowledgments and flow control. **Related:** Peers must acknowledge SETTINGS. Failing to respect them can be a protocol error.

Q6: Which frame signals graceful shutdown of an HTTP/2 connection

Short Text
**Explanation:** **Terms:** GOAWAY. GOAWAY tells the peer that the sender will not accept new streams and indicates the last stream it processed. **Correct:** GOAWAY. It supports graceful draining. **Why others are wrong:** RST_STREAM resets one stream, not the whole connection. SETTINGS configures behavior but does not shut down. **Related:** Clients should retry requests on streams that were not processed, depending on method idempotency.