On Fri, Mar 09, 2007 at 11:36:04AM +0300, Михаил Монашёв wrote:
> В ходе общения на http://www.rit2007.ru/class/924.html возникла идея
> реализовать подобие Edge Side Includes (ESI)
> http://www.akamai.com/html/support/esi.html на nginx. Идея следующая:
> по аналогии с SSI nginx получает страничку, состоящую из нескольких
> includ-ов, только все они инклудят не файл с диска, а то, что отдастся
> по HTTP бэкендом (Апачем, FCGI, с диска, из memcached, с произвольного
> хоста в интернете). Кроме того, получив каждый инклуд, nginx кладёт
> его в memcached на время, указанное бэкендов в HTTP-заголовке и при
> следующем обращении на вставку нескольких инклудов, сначала делает
> один запрос в memcached посредством get_multi(url1,url2?...) для
> получения всех закэшированных инслудов, а потом оставшиеся дёргает с
> бэкендов.
>
> Как Вам задумка?
Некоторая часть ESI в nginx присутствует, а именно - SSI-фильтр работает
для любых ответов, независимо от их источника - файл, ответ прокси, FastCGI
или memcached. Что сейчас не работает - так это возможность задать
в include virtual произвольный URL - нужно явно описывать в конфигурации,
куда URL будект проксироваться. Что касается кэширования, то я планирую
делать его внутри nginx'а.
--
Игорь Сысоев
http://sysoev.ru