Результат
Maxx 29.07.2007 23:57
/ 30.07.2007 00:02
После замены parser3.cgi на такой код:
#!/usr/bin/perl
print "Content-Type: text/html\n";
print "\n\n";
print "<h1>Hello World</h1>";
Сжатие точно также не работает.
Т.е. можно сделать вывод, что во втором апаче применять фильтры для контента на который повешен собственный обработчик - нельзя, по крайней мере никто не знает как этого добиться.
Из всех моих поисков нашел только пару вопросов об этом, но ни одного толкового ответа.
Думается, малая распространенность информации по этому поводу связана с тем, что свои обработчики пишут обычно на перле и пхп, где есть возможность самостоятельно реализовывать сжатие встроенными средствами. В перле есть Compress::Zlib в пхп тоже что то.
Вопрос - как быть, если нужно сжатие?
Встроенных средств нет.
Возможности сделать так:
$gzipData[
^file::exec[/../cgi-bin/compress;
$.stdin[$body]
]]
$response:content-encoding[gzip]
$response:content-length[^gzipData.length[]]
$response:body[$gzipData]
тоже нет, потому что (почему то) парсер не может работать с бинарными данными (хотя в данном случае от него требуется только "передать" как есть результат скрипта)
Остается только один вариант с записью внешним скриптом сжатых данных в файл, загрузка их парсером и отдача клиенту (после чего файл нужно грохнуть). Совсем некрасивый и нешустрый вариант.
Есть еще способы?