HTTP/1.1 Upgrade header

The client can then send a new request with the appropriate upgrade headers while keeping the connection open.

One use is to begin a request on the normal HTTP port but switch to Transport Layer Security (TLS).

Disadvantages of this method include: WebSocket also uses this mechanism to set up a connection with a HTTP server in a compatible way.

[2] The WebSocket Protocol has two parts: a handshake to establish the upgraded connection, then the actual data transfer.

If the server supports HTTP/2, it replies with HTTP 101 Switching Protocol status code.