ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Как лучше реализовать фун кциональность bigpipe


  • To: nginx-ru@xxxxxxxxx
  • Subject: Как лучше реализовать фун кциональность bigpipe
  • From: Xasima <xasima@xxxxxxxxx>
  • Date: Tue, 13 Dec 2011 19:26:41 +0300
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; bh=1SLbF+O7AYHBnpLntNqmYBKTnEXs1pidVmN2L1w95nY=; b=Z6tHwHBi1IQMQPqFVeu4aIDuEJVpWf0rsLDGi7VuxB8pNdetE/vnfZiq1l7STdAQv0 7sLaNPjwJtLiBaNftM/M90B+kOz8DxrvMkztQf8pgGmTwrAHWBFqJKszp2/AuLwHkEW/ 07SPYVVS0N8seoy7tlFUEVUoRCVHeRmtkhScY=

Добрый день.

Хочу поинтересоваться, какие существующие модули можно использовать (стоит посмотреть как пример) для разработки следующего функционала: 

по приходящему запросу вида url?pipe=a.js,b.js,c.json&separator=xxx nginx должен отдать данные {a.js, b.js, c.json} друг за другом через keep/alive соединение, разделяя их c помощью xxxx,  правильно при этом высчитывая http chunk length и помещая нужный content-type?

Сами ресурсы также отдаются (проксируются) через nginx, например, из файловой системы, memcache, бэкенда. 

HTTP/1.1 200 OK
Content-Type: multipart/mixed; boundary=xxx
Transfer-Encoding: chunked

--xxx
Content-Type: application/x-_javascript_
Content-Length: 123
{ ... a.js ... }

--xxx
Content-Type: application/x-_javascript_
Content-Length: 123
{ ... b.js ... }

--xxx
Content-Type: application/json
Content-Length: 123
{ ... c.json .. }

Connection: close


Насколько я понимаю, примеры  похожей функциональности есть  на node.js / java jetty continuation.  Однако кажется, что такую отдачу контента (особенно закешированного или находящегося на файловой системе) будет выгоднее осуществлять через nginx и использовать специализированные бэкенды лишь для изменяемых данных.  

Использовать вместо такой динамической отдачи подготовленные (скомпилированные) наборы js скриптов тоже не хочется, потому как в общем случае набор параметров  url?pipe=a.js,е.js, g.js динамичен и определяется "деревом зависимостей" js модуля (который в заданный момент пользователь "запросил" нажав на какую-то кнопку с редким функционалом на пользовательском интерфейсе) и наличием уже загруженных подобным образом скриптов. 
-- 
Best regards,
     ~ Xasima ~

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.