Long urls and SpeedTouch modems

We spent some long hours chasing a problem. Some of our users were not able to log on to anyMeta site. The cause of the problem turned out to be, surprise, SpeedTouch ADSL modems.

We quickly found out that the problem was related the IP address of the user. As some users' laptops did work at their office, but not at their home.

Weird.

Testing Long Urls

We then checked our server logs, and found that the machines of the affected users did not even try to load some JavaScript libraries.

Some library and css files were requested, some were not at all. No mention of the longer urls in our logs whatsoever, none, nada.

Different user agents, using different machines, from the same IP address all showed the same problem.

So we started to make a test script that tried to load JavaScript libraries using different urls. After some versions of our script we found an interesting pattern.

What is the difference between these two urls:

www.example.com/jstest/f/TEST/library/Ajax/dir/dir/dir/dir/dir/dir/dir/dir/dir/dir/dir/dir/dir/test21.js

and:

www.example.com/jstest/f/TEST/library/Ajax/dir/dir/dir/dir/dir/dir/dir/dir/dir/dir/dir/dir/dir/dir/dir/test22.js

The big difference is that the first one does load and the second one does not load. Ok, the last one is a bit longer, so rest assured that the following url does load as well:

www.example.com/jstest/f/TEST/library/Ajax/somelangurltext-somelangurltext-somelangurltext-somelangurltext-somelangurltext-somelangurltext-somelangurltext-somelangurltext-somelangurltext/test12.js

Conclusion

It is not the length of the url, but the number of directories in the url. The break point seems to be around 19 directory levels.

It all seems to be related to the Web Browsing Interception feature of SpeedTouch modems. Besides that that option makes the modem around 30% slower, it also intercepts some long javascript or css url lookups.

We updated our anyMeta system to use less slashes in the urls...

javascript html css editor library development usability webdesign browser koch

456 Berea Street: Articles and news on web standards, accessibility, and usability

Articles and news on web standards, accessibility, usability, and other things related to web dev...

FCKeditor - The text editor for Internet

This HTML text editor brings to the web much of the power of desktop editors like MS Word. It's l...

QuirksMode - for all your browser quirks

QuirksMode.org is the personal and professional site of Peter-Paul Koch, freelance web developer ...

37signals's wysihat at master — GitHub

WysiHat is a WYSIWYG JavaScript framework that provides an extensible foundation to design your o...

Wiky: A Bidirectional Markup Converter

The only other Wiki that I know of that can translate wiki to and from html. (The other one is o...

technical javascript ide atf coding rfc opinion toolkit debugging ajax

ATF Project Home

The AJAX Toolkit Framework (ATF) provides and extensible framework and exemplary tools for buildi...

OAuth and URL encoding

Differences in URL encoding functions will make implementation of OAuth harder. There is an imme...

FCKeditor - The text editor for Internet

This HTML text editor brings to the web much of the power of desktop editors like MS Word. It's l...

ajax javascript eclipse technical services web tool develop ide atf

ATF Project Home

The AJAX Toolkit Framework (ATF) provides and extensible framework and exemplary tools for buildi...

COWS Ajax

++What is COWS Ajax?

You can't do that with Ajax! Quite simply, a new er...

escape problem testing opinion coding rfc oauth urlencode authentication Marc's Blog

OAuth and URL encoding

Differences in URL encoding functions will make implementation of OAuth harder. There is an imme...

javascript operation aborted ie7 bug internet explorer json serialize notation data-interchange format

BUG: Internet Explorer... Again

When you visit a Web page or you interact with a Web application, you receive an Internet Explore...

Introducing JSON

SON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans ...

MarcWorrell.com/ created on 2007-10-09 20:04:46/ modified on 2007-11-26 12:09:26/ mail me at