Hi,

-- Igor Sysoev <[EMAIL PROTECTED]> wrote:

> NN4 for Windows does not decompress gzipped Flash. NN4 for Unix does.

aah, OK, I only checked it on Windows and then stopped compüressing
everything else then text/html with NN4.


> But no one browser decompress gzipped response that is fetched via
> Flash's loadVariables() and XML.load() functions.

yes, for this reason I disabled compression for all NN4 when the
content-type isn't text/html.


>> Also compressed output does not work on IE, if the request was POSTed
>> (only tested with older version, I gess 4.0, of IE).
> 
> I did not know about IE4 and POSTs, at least I did not received
> mod_deflate bug reports about it. 

I realized this on http://www.a-blast.org/ when posting some texts. As I
remember this was very strange, because sometimes it works but mostly not.


> I know two IE4 gzip bugs. They
> described in http://sysoev.ru/mod_deflate/readme.html#browsers (sorry,
> Russian only).

hmm, Don't understand Russion ;) -- perhaps it's a siede effect of one of
this bugs?


> All NN4.5+ say "Accept-Encoding: gzip". NN4.0x for Unix and PPC Mac do
> not say but understand it but they too rare now so you can ignore them.

ah, OK. I'd stolen this part of the code from the GzipChain module.
 

> NN4 also does not undresatnd gzipped application/x-javascript and ext/css:
> http://sysoev.ru/mod_deflate/readme.html#types

yes; therefor it's sure to only compress text/html on NN4 -- if not
explicitly tested that it works.


>>                                        # Important: we change output
>>                                        # according to this headers
>>    $r->header_out('Vary', 'Accept-Encoding, User-Agent');
> 
> It's not good idea - it disables caching in MSIE.

really?
hrmpf!

I tested it now with MSIE 5.5; sometimes it fetched the file, sometimes it
came from cache. I also remember, that at another project i set for testing
purpose the expire time +1000000 seconds. And forgot it to remove after
testing. AARRGH! ==> MSIE cached the page even if there was a hard reload,
the old page remains in cache. It was a hard to find bug ;-)

But "Vary" there was also set, so it seems that at least under some
circumstances MSIE caches data with vary.


I included it because a proxy server may get an request from a browser
which understands gzip; and some seconds later from one who doesn't
understand it (i.e. MSIE Mac). So, if the proxy forwards the compressed
data to the second browser this will fail.

What experiences do you have with this?

 
>>                                        # don't forget Content-Length!
>>                                        # it enables keepalive and
>>                                        # disables some Netscape bugs
>>    $r->header_out('Content-Length', length(${ $out->{document} }));
> 
> I'm not sure that sending Content-Length with gzipped content is good
> idea. MSIE understands chunked transfer and can keep alive connection.
> For NN4 we should close connection.

i mostly closed connection , because keep alive blocked a bug Apache (on
http://www.a-blast.org/ each httpd is about 38-42 MB, but mostly shared);
but now i moved to frontend and backend apache, so there are not too much
memory consumption thrown away for static requests or requests to my other
Vhosts.

I had several really *hard* problems without Content-Length and NN4:

If in the page is some document.write JavaScript and there is no
Content-Length, NN4 writes some of the document.write-Code into a random
part of the HTML file. :-( This often destroys the hole page, e.g. if it
overwrites closing <table>-Tags.
Several weeks i searched for this ugly bug, because sometimes it destoys
the page and sometimes not. If destoying, Netscape does also not realise
that the connection is already closed and the stars are moving, indicating
further loading. But when the content-length is correctly set, it works.

I guess that NN4 gets confused with the end of the page and when he should
start with running of the JavaScript.


Ciao
  Alvar

-- 
// Unterschreiben!      http://www.odem.org/informationsfreiheit/
// Internet am Telefon: http://www.teletrust.info/
// Das freieste Medium? http://www.odem.org/insert_coin/
// Blaster:             http://www.assoziations-blaster.de/

Reply via email to