Zope Corporation - www.zope.com - are funding development of ESI -
www.esi.org - for squid, with immediate inclusion into the GPL codebase.
So the first thing is a public 'Thanks!' for their input into squid.
ESI is an xml based language designed for in-intermediary page assembly.
The idea is that dynamic pages are usually made up of many independent
fragments that will remain (mostly) static, even though the whole page
is changing all the time. (i.e. news article summaries don't change much
once published, but the choice of which summaries are displayed will
change as new articles get published). ESI looks to be of great use to
web site publishers, with it's ability to move multiple page fragment
retrieval out of the web server, and into the cache farm. See
www.esi.org for more information.
The first (and nastiest) phase is nearly complete, which is allowing
squid to initiate internal requests that
* Do not have a client connection
* Are still Varied, redirected, and access controlled.
Following this I will be moving onto the actual ESI parsing and
processing, and finally the 'edge architecture' specification which is
what triggers ESI processing, and controls some of it's optional
behaviour.
The current work will immediately make data manipulation/examination
add-ons to squid much easier to code, via the clientStream concept. I'd
like to get this work into HEAD asap, so if another core developer could
give it a once over, that would be fantastic. This is a very small
subset of the changes I implemented for the content processing branch,
and avoids *all* of the range requests and server->store->client
information loss issues that that branch ran into. They still need to be
addressed at some point, but not for the ESI project.
If anyone wants to chip in and play with, or contribute to the ESI
implementation, or some sub-section of it (i.e. if you are developing
something that needs to hook into clientSendMoreData, and you can use
this core infrastructure..), that would be great - the more the merrier.
The CVS TAG is 'esi' on cvs.devel.squid-cache.org. The project is also
accessible via http://devel.squid-cache.org/projects.html#esi.
Cheers,
Rob
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:16:02 MST