Как лучше реализовать функциональность bigpipe
Xasima
xasima на gmail.com
Вт Дек 13 16:26:41 UTC 2011
Добрый день.
Хочу поинтересоваться, какие существующие модули можно использовать (стоит
посмотреть как пример) для разработки следующего функционала:
по приходящему запросу вида 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 ~
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20111213/28da4be2/attachment.html>
Подробная информация о списке рассылки nginx-ru