api: YAML JSON TOON Database
version: 1.0.0
format: json
dataset:
  slug: http2-http3-features
  title: HTTP/2 and HTTP/3 Features
  description: Key features and improvements introduced in HTTP/2 and HTTP/3 over HTTP/1.1.
  summary: "The features that distinguish HTTP/2 and HTTP/3 from HTTP/1.1, each tagged with the version it belongs to and the problem it addresses: multiplexing, header compression, transport changes in QUIC and connection behavior on mobile networks."
  use_when:
    - You are explaining why HTTP/2 or HTTP/3 helps a particular workload.
    - You are deciding which protocol version to enable or what to measure after enabling it.
  caveats:
    - Gains depend on the workload and network; a single large download changes little, many small requests on a lossy network gain the most.
    - Server push saw little adoption and was removed from major browsers, so treat it as a historical feature.
  related:
    - http-protocol-evolution
    - network-ports-reference
    - http-content-negotiation
  category: Networking
  category_slug: networking
  tags: networking,http2,http3,protocols,performance
  view_count: 0
  entry_count: 13
  fields:
    - section: data
      field: feature
      type: string
      example: Multiplexing
    - section: data
      field: version
      type: string
      example: HTTP/2
    - section: data
      field: description
      type: string
      example: Multiple requests and responses over a single T…
    - section: data
      field: benefit
      type: string
      example: Eliminates head-of-line blocking.
data:
  - feature: Multiplexing
    version: HTTP/2
    description: Multiple requests and responses over a single TCP connection.
    benefit: Eliminates head-of-line blocking.
  - feature: Header Compression (HPACK)
    version: HTTP/2
    description: Compressed headers using a static and dynamic table.
    benefit: Reduces overhead on every request.
  - feature: Server Push
    version: HTTP/2
    description: Server can push resources before the client requests them.
    benefit: Reduces round trips for related resources.
  - feature: Stream Prioritization
    version: HTTP/2
    description: Requests can be assigned weight and dependency for ordering.
    benefit: Critical resources can be delivered first.
  - feature: QUIC Transport
    version: HTTP/3
    description: Built on UDP instead of TCP for connection establishment.
    benefit: Eliminates TCP handshake + TLS round trips.
  - feature: 0-RTT Resumption
    version: HTTP/3
    description: Can resume connections with data from the first packet.
    benefit: Faster page loads for returning users.
  - feature: Connection Migration
    version: HTTP/3
    description: Connections survive network changes (e.g., WiFi to LTE).
    benefit: Seamless experience on mobile devices.
  - feature: Binary Framing Layer
    version: HTTP/2
    description: Messages are split into binary frames carried on numbered streams instead of text lines.
    benefit: Enables multiplexing and cheaper, less ambiguous parsing.
  - feature: Flow Control
    version: HTTP/2
    description: Per-stream and per-connection windows limit how much data a sender may transmit.
    benefit: Prevents one stream from starving others on a shared connection.
  - feature: QPACK Header Compression
    version: HTTP/3
    description: Header compression redesigned to work with out-of-order streams.
    benefit: Keeps compression gains without HPACK's head-of-line blocking.
  - feature: No Transport Head-of-Line Blocking
    version: HTTP/3
    description: Streams are independent in QUIC, so a lost packet delays only its own stream.
    benefit: Fewer stalls on lossy networks.
  - feature: Built-in TLS 1.3
    version: HTTP/3
    description: QUIC integrates the TLS 1.3 handshake into connection setup.
    benefit: Fewer round trips before data flows, and encryption is mandatory.
  - feature: Alt-Svc Discovery
    version: HTTP/3
    description: A server advertises HTTP/3 availability through the Alt-Svc header or an HTTPS DNS record.
    benefit: Lets clients upgrade from TCP-based HTTP without a separate port.
