Wednesday, March 5, 2008

Upper limits of the query string...

So I ran into a problem recently where information was not correctly being passed from one remote page to another... It took quite a bit of digging to finally find the root of this issue. It turns out, that in addition to having to deal with issues with cross-browser compatibility regarding JavaScript, we also have to deal with it regarding the querystring!

Now I know what you are thinking... who in their right mind passes so much information in the querystring that it would reach the upper limits??? I agree with you, but it is currently out of my hands.

Building "widgets" and "plugins" for commercial sites that expect to be able to "remote authenticate" can be quite tricky... especially if they are built on 4th party CMS's that decided to build their own proprietary server side scripting language (that remotely resembles classic asp)...

Okay, long story short, I am passing variables to the remote authenticator via POST variables... that software is then authenticating the users and moving all of those POST variables to the querystring as GET variables to return the user back to the clients CMS where we then process their data... I know, I know, it's an incredibly complex mess, but until the CMS is able to provide us with methods to read and write cookies, we are stuck with it.

So, it turns out that although this specific case works fine with FireFox and even Safari, it breaks in Internet Explorer (what a surprise =). Because of this I did some testing... and here are the results:

Browser version querystring upper limit
FireFox 2.0.0.5 8182
Safari 2.0 8184
IE 7.0 2047

3 comments:

Nick said...

Dude you should post that on digg. That's super-interesting. I don't think I would have ever hit the upper limit of the query string, but to know that there is one is crazy.

And there's NO STANDARD! Craziness.

Anonymous said...

Your post could be useful to me someday. Hope it gets indexed on Google :)

Anonymous said...

Please let us know if you find a work around for this. I'm going to run into the same issue soon.

Thanks!