We have a Perl CGI application that used to run on a Netscape server.
It was using a proprietary system to compile once and run many.
We recently moved to Apache, but we are having problems with page loading and reloading.

With a Netscape (4.7) browser when you first load a page (not cached) it usually loads,
but from time to time it gets cut in the middle.
It's not that the HTML of the page has problems, it's just that the page content is not
loaded in its entirety.
The reload of a page has just about the same frequency of problems.

With IE (5.0) the loading of the page shows problems with a certain frequency, the reload
almost never works.
Either IE waits undefinitely, either crashes, either cuts the page.
Sometimes with a view source you can see that all the page has actually been loaded, but
the browser says that it failed.
Also it looks like IE is totally unable to perform a correct refresh.
By the way, even if all the pages are CGIs IE always caches them. I partially solved the
problem printing the pragma 'no-cache' in the header.
(Incidentally, does this pragma also prevent the caching of the GIFs that are in the page,
or it just affects the caching of the whole page?)

Notice that in all those cases the CGI script has run correctly to the end. It's just the
browser that cannot display the results of its request.
Also, if you access the pages from some PCs the frequency of the errors is much greater,
on other PCs it's better. (I cleared caches to compare better)

If I access the same pages on the Netscape SERVER I have no problem.
I would have said that somehow Apache does not print a correct content-length field,
but it's not in the headers (nor in those from the Netscape Server).

I fetched the page and the header with Lynx, and the only differences between the page
returned by Apache
and the one returned by the Netscape Server is that in the last one the Content-type field
appears twice (sic), and the order in which some of the fields are.
 

Notice that we print our headers with the CGI method header(), most of the times it's just
header('text/html'), so there shouldn't be any problem.

Any idea about what is going wrong?

Thanks
Giacomo

Reply via email to