HTTP Status Code 421 – Misdirected Request
The HTTP 421 Misdirected Request status code indicates that the request was directed to a server that is unable to produce a response. This can happen when the server is not configured to respond to the combination of scheme and authority that is included in the request URI.
Example 1: Misconfigured Virtual Host
Consider a server with multiple virtual hosts setup, each responsible for a different domain. If a request is sent to the wrong virtual host, the server might respond with a 421 status code.
GET /page HTTP/1.1
Host: example.com
HTTP/1.1 421 Misdirected Request
Content-Type: text/html
Content-Length: 123
<html>
<head><title>421 Misdirected Request</title></head>
<body>
<h1>Misdirected Request</h1>
<p>The server cannot process the request due to a misconfiguration.</p>
</body>
</html>
In this example, the server is configured to handle requests for multiple domains. If the request for “example.com” is sent to a server configured only to handle “example.org”, a 421 response is generated because the server cannot match the request to any virtual host configuration.
Example 2: Incorrect SSL Configuration
SSL/TLS configurations can also cause a 421 response when the server does not have the correct certificate for the requested host.
GET /secure HTTP/1.1
Host: secure.example.com
Connection: keep-alive
HTTP/1.1 421 Misdirected Request
Content-Type: text/html
Content-Length: 135
<html>
<head><title>421 Misdirected Request</title></head>
<body>
<h1>Misdirected Request</h1>
<p>The server received a request with an incorrect SSL certificate.</p>
</body>
</html>
Here, the server might have multiple SSL certificates for various subdomains. If a request is wrongly directed to a host with a non-matching SSL certificate, the server sends a 421 status code to indicate the misdirection.
Example 3 Scenario
# Client sends a request example. GET /example HTTP/1.1 Host: www.example.com # Server Response HTTP/1.1 421 421 Misdirected Request Date: Wed, 09 Oct 2024 23:06:04 GMT Server: ExampleServer/1.0 Content-Type: application/json { "error": "Description of the error for 421" }
Example 4: Another Scenario
# Client sends another example request. POST /another-example HTTP/1.1 Host: www.example.com # Server Response HTTP/1.1 421 421 Misdirected Request Date: Wed, 09 Oct 2024 23:06:04 GMT Server: ExampleServer/1.0 Content-Type: application/json { "error": "Detailed message for 421" }
Summary
The 421 Misdirected Request status code is crucial for scenarios where a server cannot process a request due to misdirection, often due to incorrect server configuration or SSL/TLS mismatches. Understanding and properly configuring server environments to handle requests for the appropriate domains and certificates can help prevent such errors.