This HTTP header can be used as part of either a HTTP request or response. It is not supported by HTTP/2.
Protocol choices are listed on a single line in order of descending preference. This is the only directive for this HTTP header.
Server Acknowledgement and Continuation
Servers can choose to ignore the upgrade request and in such cases, the HTTP response will be the same as if occurred had the HTTP header not been present.
When the server upgrades the HTTP connection, it will return with a 101 Switching Protocols status code, which will include an HTTP Upgrade response header to indicate the new protocol. Once this is done, and as long as the new protocol is capable of completing the original HTTP request, a response to the original HTTP request will be sent.
The HTTP Upgrade response header is sent by a server as part of HTTP error 426 Upgrade Required. This indicates that a server is unwilling to process the HTTP request using the current protocol but may, however, be willing to do so if it is upgraded to one specified by this HTTP response header.
HEAD / [[1.1|HTTP/1.1]] Host: www.example.ai Connection: upgrade Upgrade: HTTP/2, HTTPS