HTTP2-Settings
The HTTP HTTP2-Settings request header is required when the client is requesting a HTTP connection upgrade from HTTP/1.1 to HTTP/2. It includes parameters that govern the HTTP/2 connection, if the upgrade request is successful.
Usage
The HTTP2-Settings header is used to proactively supply the server with HTTP/2-specific parameters during an HTTP Upgrade request. If this HTTP header is not included then the server will refuse to upgrade the HTTP Connection. Similarly, the upgrade request will fail if more than a single HTTP2-Settings header is included in the HTTP request.
The server does not explicitly acknowledge the HTTP2-Settings header. This success can be assumed upon receiving the HTTP response 101 Switching Protocols.
The value (contents) of the HTTP HTTP2-Settings request header is the payload of a SETTINGS frame, encoded as a base64url string.
Note
In lieu of a SETTINGS frame, an empty string as value for the HTTP HTTP2-Settings request header is often also acceptable.
Example
Request
HTTP2-Settings: token68
Response
HTTP/1.1 101 Switching Protocols
Upgrade: HTTP/2
Connection: upgrade
Takeaway
The HTTP2-Settings header contains parameter settings used for the HTTP/2 connection if the main HTTP Upgrade request is successful.