You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by David Cassidy <da...@twocats.co.uk> on 2008/02/25 18:41:53 UTC

Re: [users@httpd] Problem with mod_deflate and IE6 javascript caching

How are you testing that this is working correctly ?

Are you using wget with the --header="Accept-Encoding: gzip" 
to test it ?

D


On Mon, 2008-02-25 at 09:46 -0500, Joshua Slive wrote:
> 2008/2/25 Yuan HOng <ho...@gmail.com>:
> > Hi, list,
> >
> >  I have a large javascript file which I want to send to IE6 gziped and
> >  for IE6 to cache.
> >
> >  I set the following derective in the configuration file:
> >
> >  AddOutputFilterByType DEFLATE application/x-javascript
> >
> >  The result is but that IE6 doesn't cache the javascript.
> >
> >  Looking into the response headers, I found that apache is sending
> >  Transfer-Encoding: chunked together with Vary: Accept-Encoding, but
> >  without Content-Encoding: gzip
> >
> >  I think that the missing Content-Encoding: gzip might have to do with
> >  IE6 not caching the Javascript. Does anybody have an idea about this?
> >
> >  By the way, I have read that Content-Encoding and Transfer-Encoding
> >  are separate things, so I am expecting Apache to send
> >  Transfer-Encoding together with Content-Encoding. Why is
> >  Content-Encoding dropped?
> >
> >  Also, the 'chunked' transfer encoding is supposed to be used for
> >  dynamically generated content. But my javascript file is a static one.
> >  When does apache decide to use 'chunked' encoding? Can I force Apache
> >  not to use 'chunked' encoding for gziped content?
> 
> [Warning: these are mostly informed guesses. I'm not a gzip expert.]
> 
> Transfer- and Content-Encoding are indeed separate things. One does
> not imply the other. Apache is doing Transfer-Encoding, not
> Content-Encoding, so setting the latter header would be an error.
> 
> The chunking is likely there so that apache can send the file as it is
> being compressed, rather than wait to compress the entire file before
> sending.
> 
> I'm not sure why MSIE isn't caching the file, but I think both the
> Content-Encoding and the chunking are not the problem. You need to
> look elsewhere.
> 
> Joshua.
> 
> ---------------------------------------------------------------------
> The official User-To-User support forum of the Apache HTTP Server Project.
> See <URL:http://httpd.apache.org/userslist.html> for more info.
> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
>    "   from the digest: users-digest-unsubscribe@httpd.apache.org
> For additional commands, e-mail: users-help@httpd.apache.org
> 


---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] Problem with mod_deflate and IE6 javascript caching

Posted by Yuan HOng <ho...@gmail.com>.
On Tue, Feb 26, 2008 at 1:41 AM, David Cassidy <da...@twocats.co.uk> wrote:
> How are you testing that this is working correctly ?
>
>  Are you using wget with the --header="Accept-Encoding: gzip"
>  to test it ?
>

On the IE6 side I installed IE HttpAnalyzer to inspect the request and
responses between IE and Apache.

With wget Apache doesn't send the javascript back using chunking, just
simply "Content-Encoding: gzip", as below:

Connecting to rhodium.homemaster.cn|192.168.0.2|:80... connected.
HTTP request sent, awaiting response...
  HTTP/1.1 200 OK
  Date: Tue, 26 Feb 2008 02:15:17 GMT
  Server: Apache/2.2.6 (Debian) mod_python/3.3.1 Python/2.4.4
PHP/5.2.4-2+b1 with Suhosin-Patch
  Last-Modified: Tue, 12 Feb 2008 07:34:35 GMT
  Accept-Ranges: bytes
  Cache-Control: max-age=315360000
  Expires: Fri, 23 Feb 2018 02:15:17 GMT
  Vary: Accept-Encoding
  Content-Encoding: gzip
  Connection: close
  Content-Type: application/x-javascript
Length: unspecified [application/x-javascript]

I guess that is due to wget not supporting content negotiation.

In IE6, the response header send back by Apache is follows:

(Status-Line):HTTP/1.1 200 OK
Date:Tue, 26 Feb 2008 02:16:25 GMT
Server:Apache/2.2.6 (Debian) mod_python/3.3.1 Python/2.4.4
PHP/5.2.4-2+b1 with Suhosin-Patch
Last-Modified:Tue, 12 Feb 2008 07:34:35 GMT
Accept-Ranges:bytes
Cache-Control:max-age=315360000
Expires:Fri, 23 Feb 2018 02:16:25 GMT
Vary:Accept-Encoding
----------------:----
Keep-Alive:timeout=15, max=97
Connection:Keep-Alive
Transfer-Encoding:chunked
Content-Type:application/x-javascript

It uses Transfer-Encoding:chunked instead of Content-Type:gzip. And
the script doesn't gets cached despite a far-future expires header.

-- 
Hong Yuan

大管家网上建材超市
装修装潢建材一站式购物
http://www.homemaster.cn

Re: [users@httpd] Problem with mod_deflate and IE6 javascript caching

Posted by Yuan HOng <ho...@gmail.com>.
On Tue, Feb 26, 2008 at 1:49 AM, yary <no...@gmail.com> wrote:
> Transfer encoding requires content negotioation, so maybe this will help:
>  http://httpd.apache.org/docs/2.0/content-negotiation.html#caching
>

Thanks for the hint. But the CacheNegotiatedDocs directive is only
effective for HTTP1.0 clients. Since IE6 uses HTTP1.1, it doesn't seem
to bear on my current problem.

-- 
Hong Yuan

大管家网上建材超市
装修装潢建材一站式购物
http://www.homemaster.cn

Re: [users@httpd] Problem with mod_deflate and IE6 javascript caching

Posted by yary <no...@gmail.com>.
Transfer encoding requires content negotioation, so maybe this will help:
http://httpd.apache.org/docs/2.0/content-negotiation.html#caching

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org