Ajax requests generate 414 URI Too Long error

Ajax requests generate 414 URI Too Long error

StadlyStadly Posts: 6Questions: 2Answers: 0

Link to test case: https://codepen.io/Stadly/pen/MWVzJJR
Debugger code (debug.datatables.net):
Error messages shown: 414 URI Too Long
Description of problem: When a table contains very many columns, it is not possible to use ajax.

columns[0][data]=0&columns[0][name]=&columns[0][searchable]=true&columns[0][orderable]=true&columns[0][search][value]=&columns[0][search][regex]=false is added to the request url for every column, causing the url to become too long.

Is it possible to limit such arguments to only being added for the columns that actually have ordering or search applied? At least in my case, I have no use for that information for columns that don't have ordering or search applied.

You can try it for yourself in the test case link.

Answers

  • colincolin Posts: 15,240Questions: 1Answers: 2,599

    This thread should help, it's asking the same thing.

    Cheers,

    Colin

  • hedmondjohnhedmondjohn Posts: 1Questions: 0Answers: 0

    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. The HTTP 414 URI Too Long response status code indicates that the URI(Uniform Resource Identifier) requested by the client is longer than the server is willing to interpret.

    To resolve this problem :

    • By POST request: Convert query string to json object and sent to API request with POST.

    • By GET request: Max length of request is depend on sever side as well as client side. Most webserver have limit 8k which is configurable. On the client side the different browser has different limit. The browser IE and Safari limit to 2k, Opera 4k and Firefox 8k. This means that the max length for the GET request is 8k and min request length is 2k.

    If exceed the request max length then the request truncated outside the limit by web server or browser without any warning. Some server truncated request data but the some server reject it because of data lose and they will return with response code 414 Request-URI Too Long.

    Under Apache, the limit is a configurable value, LimitRequestLine. If you want to increase URL limit to 5000 characters (bytes), add the following lines to your server configuration or virtual host file.

    LimitRequestLine 5000

    If you want to increase maximum header length supported by Apache to 3000 characters, then add the following line.

    LimitRequestFieldSize 3000

Sign In or Register to comment.