atom feed16 messages in ru.sysoev.nginxRe: [ANNOUNCE] gunzip filter module 0.3
FromSent OnAttachments
Maxim DouninMar 22, 2010 11:20 am 
Ryan MalayterMar 23, 2010 6:12 am 
Maxim DouninMar 23, 2010 6:46 am 
Ryan MalayterMar 24, 2010 5:47 am 
Maxim DouninMar 24, 2010 7:20 am 
Ryan MalayterMar 24, 2010 3:49 pm 
Maxim DouninMar 24, 2010 4:47 pm 
theromis1Apr 16, 2010 12:14 pm 
Maxim DouninApr 17, 2010 2:36 am 
theromis1Apr 19, 2010 2:14 pm 
Maxim DouninApr 19, 2010 7:15 pm 
theromis1Apr 20, 2010 4:00 pm 
Maxim DouninApr 21, 2010 8:19 pm 
theromis1Apr 22, 2010 6:35 pm 
theromis1Apr 27, 2010 3:29 pm 
theromis1May 3, 2010 10:31 am 
Subject:Re: [ANNOUNCE] gunzip filter module 0.3
From:Maxim Dounin (mdou@mdounin.ru)
Date:Mar 23, 2010 6:46:21 am
List:ru.sysoev.nginx

Hello!

On Tue, Mar 23, 2010 at 08:13:10AM -0500, Ryan Malayter wrote:

Ver interesting, Maxim.

I was wondering if this works with proxy_cache... will it unzip compressed responses from cache?

Yes.

If so, it would make a lot of sense to write something that would compress items *before* putting them into cache, even if the backend has not compressed them. And we could use a high compress-level if the item is cachable. Since 95% of clients support gzip, this would seem to be the ideal way to run an HTTP proxy (compression is done once per stored object, and decompressed on the fly if necessary for a particular client).

Any thoughts on that? Would an additional proxy_cache_gzip module be a good idea, or would it have to be a patch to the main proxy_cache module?

I belive proxy_cache must cache response as it was got from upstream. It is not it's business to compress or change anything, there are output filters to do changes.

On the other hand it is believed to be good idea to implement cache support in gzip filter. I.e. gzip filter will cache gzipped content and will send it to client instead of re-compressing it. And it's actually in Igor's plans AFAIK, but most likely not near plans.

I suppose something similar could be done right now by having an extra proxy layer (a "fetcher/compressor" layer) behind the cache, but that seems like a hack.

Yes, this can be done easily with additional proxy layer.