426 Upgrade Required
HTTP response status code 426 Update Required is a client error that is returned by the server to indicate that it is unwilling to process the request using the current protocol. It does not guarantee that it will do so after the client upgrades to a different protocol, although it may be willing to do so.
When the 426 Upgrade Required status code is received, the response includes an Upgrade response header field to indicate the required protocol(s).
Search engines like Google will not index a URL with 426 Upgrade Required response status, and consequently, URLs that have been indexed in the past but are now returning this HTTP status code will be removed from the search results.
In the example, the client requests a resource and the server responds with the 426 Upgrade Required error message because it only supports HTTP/2 and HTTP/3. The client upgrades the connection to HTTP/2 and in response, the server sends the 101 Switching Protocols informational response. At this point, the request is processed.
GET /tech-news HTTP/1.1 Host: www.example.ai
Initial response, will not process request with this protocol
HTTP/1.1 426 Upgrade Required Upgrade: HTTP/2, HTTP/3 Connection: upgrade Content-Type: text/html Content-Length: 154 <html> <head> <title>Protocol Not Supported</title> </head> <body> <p>This service supports HTTP/2 and HTTP/3 only.</p> </body> </html>
Subsequent request, specifying protocol upgrade
GET /tech-news HTTP/1.1 Host: www.example.ai Connection: upgrade Upgrade: HTTP/2
HTTP/1.1 101 Switching Protocols Upgrade: HTTP/2 Connection: upgrade
Apache HttpComponents Core
The 426 Update Required status code is a client error that is sent by the server when the client is using a protocol that it does not support. Subsequent requests may be processed if the protocol is upgraded.