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...

ajax javascript technical jquery uri toolkit debugging atf ide guide

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...

COWS Ajax

++What is COWS Ajax?

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

jQuery API

Simple and quick reference guide to the jQuery API.

AJAX Libraries API - Google Code

The AJAX Libraries API is a content distribution network and loading architecture for the most po...

javascript development css html webdesign usability browser koch internet compatibilty

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...

QuirksMode - for all your browser quirks

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

Syncotype Your Baselines — RobGoodlatte.com

It is often difficult to align text and graphics horizontally on the Web. To help horizontally-c...

AJAX Libraries API - Google Code

The AJAX Libraries API is a content distribution network and loading architecture for the most po...

javascript html ajax technical development jquery internet css browser koch

QuirksMode - for all your browser quirks

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

jQuery API

Simple and quick reference guide to the jQuery API.

AJAX Libraries API - Google Code

The AJAX Libraries API is a content distribution network and loading architecture for the most po...

javascript web ajax tool framework eclipse develop technical debugging toolkit

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...

Syncotype Your Baselines — RobGoodlatte.com

It is often difficult to align text and graphics horizontally on the Web. To help horizontally-c...

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