Search code examples
phpajaxurlhttpsmaxlength

HTTPS URLs longer than 1024 chars work ONLY in Chrome


I've come over a strange behaviour of almost every browser on my laptop - HTTPS URLs longer than 1024 chars work in GC only. FF, IE, Opera, Safari - none of these load the data from the server.

I have a WebApp that uses AJAX to fetch JSON data for my tables. And when there are some filters on data applied the search terms (per column) are sent via GET (I'm using DataTables). The URL (URI?) easily reaches 900 or 1000 chars which is still fine, everything goes well...

But then - there is a demand for the WebApp to work over Cisco's WebVPN (SSLVPN Service) and this rewrites the URLs and adds tokens, too... so the URL becomes longer than 1024 chars and this is where all goes downhill - only in Chrome I get a response.

Is GC sending some "short", relative path to the server and other browsers not? In the console it does not seem so... Is it the fault of the server or all of the browsers? I could not find any info on such a limitation in browsers... and browsers say the server has reset the connection - maybe the CISCO interface? But why does it work in GC then?

I entered an invalid (unexisting) path in the URL and again, only GC tells me the resource has not been found on the server - all other say exactly the same thing as before - the server has reset the connection...

Switching to POST is the LAST thing I would want to do because it's a BIG project with lots of different "WebViews" on the data and every single one has specific .JS and .PHP scripts - so much work & not enough time! ;(

Any ideas how to sanitize this?


Solution

  • I'm sorry to have to answer my question myself but this way the question (and answer) will be available to others who might encounter similar problems.

    The one to blame is Cisco's WebVPN (SSLVPN Service) - it can't handle requests longer than 1024 chars. And that's actualy all to it.

    I have not found a way to tweak this configuration limitation in Ciscos router so I'll have to go through code and move everything to POST requests... :(