httpstatuses/contents/codes/414.md
WALL-E 62df9e637c Add Python status constants (#57)
* Add Python status constants

* Add Python 2, Python 3+, Python 3.5+ status constants
2016-05-22 00:07:16 +01:00

31 lines
1.5 KiB
Markdown

---
set: 4
code: 414
title: Request-URI Too Long
references:
"Rails HTTP Status Symbol": ":request_uri_too_long"
"Go HTTP Status Constant": "http.StatusRequestURITooLong"
"Symfony HTTP Status Constant": "Response::HTTP_REQUEST_URI_TOO_LONG"
"Python2 HTTP Status Constant": "httplib.REQUEST_URI_TOO_LONG"
"Python3+ HTTP Status Constant": "http.client.REQUEST_URI_TOO_LONG"
"Python3.5+ HTTP Status Constant": "http.HTTPStatus.REQUEST_URI_TOO_LONG"
---
The server is refusing to service the request because the request-target<sup>[1](#ref-1)</sup> is longer than the server is willing to interpret.
This rare condition is only likely to occur when a client has improperly converted a POST request to a GET request with long query information, when the client has descended into a "black hole" of redirection (e.g., a redirected URI prefix that points to a suffix of itself) or when the server is under attack by a client attempting to exploit potential security holes.
A 414 response is cacheable by default; i.e., unless otherwise indicated by the method definition or explicit cache controls <sup>[2](#ref-2)</sup>.
---
* <span id="ref-1"><sup>1</sup> Content Negotiation
[RFC7230 Section 5.3][2]</span>
* <span id="ref-2"><sup>2</sup> Calculating Heuristic Freshness
RFC7234 Section 4.2.2][3]</span>
* Source: [RFC7231 Section 6.5.12][1]
[1]: <http://tools.ietf.org/html/rfc7231#section-6.5.12>
[2]: <http://tools.ietf.org/html/rfc7231#section-5.3>
[3]: <http://tools.ietf.org/html/rfc7234#section-4.2.2>