W3C home > Mailing lists > Public > www-jigsaw@w3.org > January to February 2004

Re: Idea to reduce web traffic

From: Yves Lafon <ylafon@w3.org>
Date: Thu, 5 Feb 2004 18:11:37 +0100 (MET)
To: Clóvis Wichoski <clovis_wichoski@uol.com.br>
Cc: www-jigsaw@w3.org
Message-ID: <Pine.GSO.4.58.0402051759540.25029@gnenaghyn.vaevn.se>

On Thu, 5 Feb 2004, Clóvis Wichoski wrote:

> Hi, Yves, thanks for reply, I really wanted this, ;)
>
> ok, This is to be used just as a connector to /servlet, and, I tested all
> things with Jigsaw and for me the MirrorFrame works fine, but I have some
> doubts, that I explain follow:

Ok, if you can copy the static content on the server that's even better.
No need for virtual hosts (unless you want to serve different content, of
course).
In docs_space, remove /servlet and replace it by a FramedResource. Attach
the MirrorFrame on it, edit "mirror" and put
http://<servlet-server>/servlet/ and check "partial" (as you don't mirror
from the server root.

If you use a Virtual host, do the same, but like this:
<Virtual>
      |---<yourserver>
               |------ /servlet

> First how I configured the Mirror:
> In Docs space I added org.w3c.jigsaw.resources.VirtualHostResources.
>    (following the tutorial "How to setup virtual hosting in Jigsaw?" but
> on step 5 i added a org.w3c.tools.resources.FramedResource)
> On FramedResource I added the org.w3c.jigsaw.proxy.MirrorFrame then on
> MirrorFrame I added org.w3c.jigsaw.filters.CacheFilter.
>
> worked fine, but this is the best way to configure a mirror?

The cache filters acts like this:

[A] = org.w3c.jigsaw.filters.CacheFilter
[B] = org.w3c.www.protocol.http.cache.CacheFilter
browser ->  | [A] - Jigsaw server - [B] | -> <mirrored server>

I tend to prefer using [B] mainly for compliancy purposes.
Note also that a 2.2.4 version of Jigsaw will be out soon with improved
version of the client stack (used to fetch document on the mirrored
server).

> Another question, There is a way to have all static content copied in
> Jigsaw server, and the Mirror only forward /servlet or pages don't found
> in this directory, then I don't use CacheFilters?
> If yes I can develop a downloader that download updates of my site when
> needed. and remove the Cache Work.

See above.
Thanks,

>
>
>
>
> Yves Lafon wrote:
>
>  On Thu, 29 Jan 2004, Clóvis Wichoski wrote:
>
>
>
>  For example:
> The client request Index.html that is in your local Jigsaw cache and
> returns quickly, in this page has a login form with action /servlet/
> that the local Jigsaw forward to an online WebServer (Apache+Tomcat).
>
>
>  1) I don't need that for every request to static content to check the
> WebServer if this page has changed, for static content, I like to run a
> method like, updateAllCacheNow(). but this situation is for some sites,
> don't for all.
>
>
>  Do you want Jigsaw to forward everything and act as a surrogate proxy or
> just used as a connector for some spaces like /servlet/ ?
>
>
>  2) for this maybe I use MirrorFrame? or MirrorFrame don't work with
> dynamic contents?
>
>
>  MirrorFrame is the one to use in the second case describer. MirrorFrame
> mirrors part of a web site and don't really care if the content is dynamic
> or not.
>
>
>
>  3) I need to Implement my own ProxyFrame and CacheFilter, or this
> already can be done by Jigsaw?
>
>
>  It should be there, but if there is something it can't do, it can be
> extended.
>
>
>
>  4) If I need to Implement there is a way to get the Sequence diagram or
> idea of a request on Jigsaw? (how  ProxyFrame and CacheFilter works from
> request to response)
>
>
>  The processing model is defined at
> http://www.w3.org/Jigsaw/Doc/Programmer/design.html
>
> Note that there are two different cache filters, one server side and one
> client side.
> The client-side one is the one to use in the general case for proxies and
> mirrors, as it act as an HTTP/1.1 compliant cache. Most probably the
> static content will stay in the cache and the dynamic will be always
> forwarded (provided they are served with proper HTTP headers)
>
>
>
>  The idea is to reduce the web traffic, for example, think that in one
> page I have 30 images, for all images, the browser cache, request to
> Jigsaw Proxy if image changed, then Jigsaw Proxy request to WebServer if
> image changed, and only when WebServer reply to JigSaw Proxy the Jigsaw
> reply to Browser that image isn't changed, then the image is displayed.
>
>
>  Hum so it is a HTTP/1.1 proxy/cache compliancy issue (in that case only
> the ProxyFrame and the CacheFilter). When the browser ask for a new
> version, the cache will compare the request with what's in the cache and
> the expiration timeand based on that will serve it directly of get it form
> the uptream server.
>
>
>
>  On browser I can't change this behavior but on Jigsaw I can, but I need
> some help, before start, to assure that I don't already make a know
> feature of Jigsaw.
>
>
>  Well, if the browser is in Java, you can reuse Jigsaw's HTTP stack (and
> proxy/cache) in place of the default one.
>
>
>
>
>
>

-- 
Yves Lafon - W3C
"Baroula que barouleras, au tiéu toujou t'entourneras."
Received on Thursday, 5 February 2004 12:13:53 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 9 April 2012 12:13:36 GMT