500 Internal Server Error

The server encountered an unexpected condition that prevented it from fulfilling the request. The request was valid — the server failed. Not fixable by the client.

What It Means

500 Internal Server Error is the generic catch-all for server-side failures in the 5xx class. It means the server received a well-formed request but ran into an unexpected fault while processing it — an unhandled exception, a crash, a misconfiguration, or any other condition the server did not anticipate.

Because the fault is on the server, the client cannot fix it by changing the request. Retrying may succeed if the fault is transient (a brief spike, a momentary database hiccup), but repeated 500s indicate a persistent server-side problem that requires investigation by the server operator.

When It Occurs

How to Diagnose

Check the server and application logs immediately after the 500. The log entry for the failed request usually contains a stack trace or error message that identifies the root cause. Use the Probe tool to confirm the status code and check whether the server is returning any diagnostic headers.

Distinguish from related codes: a 502 means the server is acting as a proxy and received an invalid response from an upstream server (a malformed or protocol-violating reply, not merely an error status); a 503 means the server is intentionally refusing requests due to overload or maintenance. A 500 means the server itself faulted while handling the specific request.

Check the live status code and response headers for any URL.

Open Probe Tool