On 07/11/2014 11:46 AM, Tsantilas Christos wrote:
> On 07/11/2014 05:47 PM, Alex Rousskov wrote:
>> On 07/11/2014 05:27 AM, Tsantilas Christos wrote:
>>
>>> The PageSpeed example fits better to a post-cache RESPMOD feature.
>>
>> I do not think so. Post-cache RESPMOD does not allow Squid to cache the
>> adapted variants. Please let me know if I missed how post-cache RESPMOD
>> can do that.
> 
> I did not read correctly the problem you want to solve. I had in my mind
> a proxy which cache original content and then adapts the cached content
> according client rules.
> But you want to cache adapted content.

Both, actually.



> However still I am not sure I can understand how the post-cache reqmod
> will help.
> Assume the following scenario:
>    - Client A requests original web page
>    - Client B requests optimized web page (removed spaces and comments)

There are several scenarios and tricks here. I am not going to cover all
of them, but here is one possibility:

* The "A" response gets cached as usual. When it goes through the
pre-cache RESPMOD adaptation service, it gets optimized, and the
optimized variant gets stored in the PageSpeed cache (inside the adapter).

* The "B" request misses the Squid cache (HTTP Vary rules, StoreID,
and/or a pre-cache REQMOD service ensures a miss). That miss request
reaches the post-cache REQMOD service. The service finds a matching
optimized response in the PageSpeed cache and satisfies the miss request
with that. Squid caches the service response.

* The Squid cache now contains both response variants. Any future
request for the original or optimized page will be served from the Squid
cache.


Again, this is just one scenario/possibility. A post-cache REQMOD
service can be used for many other things, of course. It allows to limit
adaptation to misses and to cache adapted miss responses without going
all the way to the origin server.

In fact, one could use it to implement a whole web server backed by a
Squid cache! The existing pre-cache REQMOD service can also be used as a
web server replacement but it cannot get advantage of the Squid cache.


Hope this clarifies,

Alex.

Reply via email to