Сценарий FastCGI - это сетевой сервер, который прослушивает соединения в цикле. Веб-сервер перенаправляет запросы на сервер FCGI, который отправляет обратно некоторое динамически генерируемое содержимое - по всему соединению через сокет. Таким образом, сценарий FCGI работает быстрее, чем CGI, поскольку он не создается повторно для каждого запроса.
Я не понимаю, зачем вам 100 бинарных файлов на 100 страниц. Одного скрипта достаточно для генерации контента на 100 страниц, основываясь на каком-то параметре запроса. Сервер FCGI также должен довольно хорошо масштабироваться для нескольких соединений, так как он обычно используется для опроса дескриптора файла сокета. (Посмотрите код реализации, чтобы убедиться в этом).
Чтобы сгенерировать 100 страниц, вам не обязательно нужны 100 операторов if. Рассмотрим этот псевдокод:
hash_table page_generators; // map page types to function objects (or function pointers)
page_generators["login_page"] = handle_login_page_fn;
page_generators["contact_page"] = handle_contact_page_fn;
// ... and so on
// request handler
page_type = request.get("page_type");
fn = page_generators[page_type];
if (fn == NULL)
return "<html><body>Invalid request</body></html>";
else
return fn(request);