HTTP Status 500 - Internal Server Error

Der HTTP-Status-Code 500 Internal Server Error signalisiert, dass Server auf einen unerwarteten Fehler gestoßen ist und Request nicht verarbeiten konnte. Generic Server-Error wenn kein spezifischerer 5xx-Status passt. Typisch für Exceptions, Bugs oder unerwartete Zustände.

Typ

Response-Status-Code

Syntax

Der Status Code wird zurückgegeben bei unerwarteten Server-Fehlern.

http
HTTP/1.1 500 Internal Server Error

Direktiven

Der 500 Internal Server Error Status Code wird für Server-seitige Fehler verwendet.

Unexpected Server Condition
Server stieß auf unerwarteten Zustand, der Request-Verarbeitung verhindert. Typischerweise Uncaught Exceptions, Null-Pointer-Dereferences, Runtime-Errors.
Generic Error Fallback
Wenn kein spezifischerer 5xx Status passt (502 Gateway, 503 Unavailable, 504 Timeout), ist 500 der default Server-Error.
Error Details in Production
Response sollte keine Stacktraces oder Implementation-Details in Production enthalten (Security-Risk). Generic Error-Message für Clients, detailed Logging server-seitig.

Beispiele

Nachfolgend finden Sie praktische Anwendungsbeispiele für Status 500.

Beispiel 1 Database Connection Failure

http
GET /api/products HTTP/1.1
Host: api.example.com

HTTP/1.1 500 Internal Server Error
Content-Type: application/json

{
  "error": "internal_server_error",
  "message": "An unexpected error occurred",
  "request_id": "req-abc-123",
  "support": "Contact support@example.com with request_id"
}

Beispiel 2 Uncaught Exception

http
POST /api/orders HTTP/1.1
Host: api.example.com
Content-Type: application/json

{"product_id": 42, "quantity": 2}

HTTP/1.1 500 Internal Server Error
Content-Type: application/json
X-Request-ID: xyz-789

{
  "error": "server_error",
  "message": "Unable to process request",
  "timestamp": "2025-10-01T14:30:00Z"
}

Beispiel 3 Configuration Error

http
GET /api/external-service HTTP/1.1
Host: api.example.com

HTTP/1.1 500 Internal Server Error
Content-Type: application/json

{
  "error": "configuration_error",
  "message": "Service temporarily unavailable due to misconfiguration",
  "retry": "Please try again later"
}

Internal Server Error Flow

500 Internal Server Error bei unerwarteter Exception

Vorteile für die Systemarchitektur

  • Error Boundary: 500 fängt ungeplante Exceptions ab bevor sie Client erreichen. Verhindert Stack-Trace-Leakage und ermöglicht graceful Error-Response.
  • Monitoring Signal: 500-Errors sind klares Signal für Alerts und Monitoring. Operations-Teams können schnell auf Production-Issues reagieren.
  • Client Retry Guidance: Client weiß, dass Fehler server-seitig ist (nicht Client-Fehler). Kann Retry mit exponential Backoff implementieren oder User Notification zeigen.

Spezifikation

RFC 9110, Section 15.6.1 – HTTP Semantics https://www.rfc-editor.org/rfc/rfc9110.html#name-500-internal-server-error

Weitere Spezifikationen

HTTP Status 502 - Bad Gateway, HTTP Status 503 - Service Unavailable, HTTP Status 200 - OK