HTTP Status 414 - URI Too Long

Der HTTP-Status-Code 414 URI Too Long signalisiert, dass die Request-URI länger ist als Server verarbeiten kann. Typisch bei GET-Requests mit sehr langen Query-Strings. Client sollte auf POST mit Body oder URL-Kürzung wechseln.

Typ

Response-Status-Code

Syntax

Der Status Code wird zurückgegeben bei überlanger Request-URI.

http
HTTP/1.1 414 URI Too Long

Direktiven

Der 414 URI Too Long Status Code wird für URI-Length-Limits verwendet.

URI Length Limit
Request-URI (Path + Query String) überschreitet Server Buffer-Size. Browser-Limits typisch 2KB, Server-Limits variabel (oft 8KB), Load Balancer können niedrigere Limits haben.
GET to POST Conversion
Client sollte für komplexe Queries von GET zu POST mit JSON/XML Body wechseln. POST hat keine praktischen Body-Size-Limits im Vergleich zu URL-Length.
URL Shortening
Alternative: Server-seitige URL-Shortening oder Query-Parameter-Compression für extrem lange Filter-/Search-Queries.

Beispiele

Nachfolgend finden Sie praktische Anwendungsbeispiele für Status 414.

Beispiel 1 Long Query String

http
GET /api/search?ids=1,2,3,4,5,...,9999&filters=...&sort=...&[8000+ characters] HTTP/1.1
Host: api.example.com

HTTP/1.1 414 URI Too Long
Content-Type: application/json

{
  "error": "uri_too_long",
  "message": "Request URI exceeds 8192 character limit",
  "uri_length": 10240,
  "max_length": 8192,
  "suggestion": "Use POST with JSON body for complex queries"
}

Beispiel 2 POST Alternative Suggestion

http
GET /api/filter?field1=value1&field2=value2&[very long query] HTTP/1.1
Host: api.example.com

HTTP/1.1 414 URI Too Long
Content-Type: application/json

{
  "error": "uri_too_long",
  "alternative_endpoint": "POST /api/filter",
  "example": {
    "method": "POST",
    "body": {"field1": "value1", "field2": "value2"}
  }
}

Beispiel 3 Bulk ID Query

http
DELETE /api/items?ids=1,2,3,...,5000 HTTP/1.1
Host: api.example.com

HTTP/1.1 414 URI Too Long
Content-Type: application/json

{
  "error": "too_many_ids",
  "message": "Use POST /api/items/bulk-delete with JSON array in body",
  "max_ids_in_query": 100
}

URI Length Limit Flow

414 URI Too Long bei excessiver Query String Length

Vorteile für die Systemarchitektur

  • Buffer Overflow Prevention: Schützt Server/Proxy Buffer vor Overflow durch excessive URI-Length. Definierte Limits verhindern Memory-Corruption oder Crashes.
  • API Design Feedback: Signalisiert Client-Developers, dass API-Design problematisch ist. Motiviert Wechsel zu POST für komplexe Queries oder Batch-Operations.
  • Load Balancer Compatibility: Verschiedene Load Balancer haben unterschiedliche URL-Limits. 414 ermöglicht graceful Degradation statt Silent Truncation oder Failures.

Spezifikation

RFC 9110, Section 15.5.15 – HTTP Semantics https://www.rfc-editor.org/rfc/rfc9110.html#name-414-uri-too-long

Weitere Spezifikationen

GET Method, POST Method