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.