Skip to main content

6. Frame Definitions

This section defines all frame types used in HTTP/2.

Frame Types

Frame TypeCodeDescription
DATA0x0Conveys arbitrary, variable-length sequences of octets
HEADERS0x1Opens a stream and carries header block fragment
PRIORITY0x2Specifies sender-advised priority of a stream
RST_STREAM0x3Terminates a stream immediately
SETTINGS0x4Conveys configuration parameters
PUSH_PROMISE0x5Notifies peer of sender's intent to initiate stream
PING0x6Mechanism for measuring round-trip time
GOAWAY0x7Initiates shutdown of connection
WINDOW_UPDATE0x8Implements flow control
CONTINUATION0x9Continues a sequence of header block fragments

6.1 DATA

DATA frames convey arbitrary, variable-length sequences of octets associated with a stream.

6.2 HEADERS

HEADERS frames are used to open a stream and carry a header block fragment.

6.3 PRIORITY

PRIORITY frames specify the sender-advised priority of a stream.

6.4 RST_STREAM

RST_STREAM frames allow for immediate termination of a stream.

6.5 SETTINGS

SETTINGS frames convey configuration parameters that affect how endpoints communicate.

Settings Parameters:

  • SETTINGS_HEADER_TABLE_SIZE (0x1)
  • SETTINGS_ENABLE_PUSH (0x2)
  • SETTINGS_MAX_CONCURRENT_STREAMS (0x3)
  • SETTINGS_INITIAL_WINDOW_SIZE (0x4)
  • SETTINGS_MAX_FRAME_SIZE (0x5)
  • SETTINGS_MAX_HEADER_LIST_SIZE (0x6)

6.6 PUSH_PROMISE

PUSH_PROMISE frames are used to notify the peer that the sender intends to initiate a stream.

6.7 PING

PING frames are a mechanism for measuring a minimal round-trip time from the sender.

6.8 GOAWAY

GOAWAY frame is used to initiate shutdown of a connection or to signal serious error conditions.

6.9 WINDOW_UPDATE

WINDOW_UPDATE frame is used to implement flow control.

6.10 CONTINUATION

CONTINUATION frames are used to continue a sequence of header block fragments.