Plain-language meaning
What HTTP code 500 means
RFC 9110 defines HTTP 500 as a status returned when the server encountered an unexpected condition that prevented it from fulfilling the request. It sits in the 5xx class, where the server is aware it has erred or is incapable of performing the request, and 500 is the generic status used when no more specific 5xx code fits.
Keep the code in its namespace
What this code does—and does not—tell you
The 500 response does not identify a particular failed component or prove the visitor caused the problem. The status is intentionally general; the service operator's logs and context are needed to find a cause. RFC 9110 also separates 500 from upstream-gateway statuses such as 502 Bad Gateway and 504 Gateway Timeout, so a 500 points at the origin server itself rather than a gateway between you and it.
Conservative next step
Where to check next
If you are visiting the site, retry once later and contact the site's support team if it persists. If you operate the service, inspect server-side logs for the affected request; the status text alone is not a diagnosis.
Primary source
Read the official reference
This explanation is scoped to the linked IETF / RFC Editor material, checked September 28, 2026. The original source takes priority and may change its instructions.
RFC 9110, Section 15.6.1: 500 Internal Server ErrorSame code system
More HTTP error codes
403 error code: HTTP Forbidden
The HTTP 403 Forbidden status means the server understood the request but refuses to fulfill it; the status alone may not explain why.
Read this code guide HTTP · 429429 error code: too many requests
HTTP 429 Too Many Requests indicates rate limiting: a user sent too many requests in a given amount of time.
Read this code guide HTTP · 503503 error code: service unavailable
HTTP 503 Service Unavailable means a server is temporarily unable to handle a request, such as during overload or scheduled maintenance.
Read this code guide