This doesn't happen all the time - i.e. a page will load, and on refresh will fail to load with js errors.
Example of errors:
'AW.Templates.ImageText' is null or not an object
'AW.System.control' is null or not an object
etc. they are not consistent.
It works perfectly when the web server is IIS on windows 2000/3 server or XP.
The IIS logs show that some of the files included by aw.js are getting a 403 "Forbidden" error. Which is weird because I gave "full control" permissions to all users for all files and folders in the website.
After some research, I think that the problem is with the limitation of 10 simultaneous connections that IIS 5 on windows 2k professional has -- since aw.js includes a lot of files, and in turn they include even more files, a lot of connections are opened against the server and some of the files get "forbidden". This is just an assumption.
Does this sound right?
Can anyone help?
Thanks a lot in advance.
Monday, August 14, 2006
I don't think this is the right reason - normally the browser is limited to 2 simultaneous connections to the same server. No idea what it could be...
Monday, August 14, 2006
After extensive researching, I came up with the following conclusions:
The IIS version 5 which is installed on windows 2000 professional has a hard-coded limitation of 10 maximum simultaneous connections.
A connection is an open socket between the client and the IIS server. On average, each client browser opens 2-3 such connections concurrently for each web page it requests. This is because files that are included in the web page, such as CSS or JS files open a different connection and are downloaded simultaneously with the main html page. The client's browser does this automatically.
Now, these socket connections don't die immediately -- they have a 4 minute timeout by default and there can be many duplicate connections, depending on network bandwidth and condition.
So a single client, browsing through simple HTML pages on the same IIS server can have between 5-8 simultaneous active connections, and can even go over the 10 connections limit.
Which is exactly what happens in our case. Our web application is not a simple HTML page. Each html page has at least 5 included JS and CSS files. Some pages (which have the active widgets grid) have around 60 included JS files! Not kidding.
Now on server platforms, which have an unlimited connections quota, this is not a problem - connections open and die and no one is the wiser. But on win 2000 pro, even our simpler HTML pages will fill the 10 connections limit pretty quick in case 2-3 clients are working against the server simultaneously.
Bottom line, the IIS on windows 2000 professional is not a suitable platform for a multi-user web application. This goes for XP Pro as well.