«Устаревшая» CGI действительно является фактором, если вы создаете большие, сложные сайты с большим количеством просмотров страниц.
Многие люди выдвигают идею, что CGI устарела, не понимая, что такое CGI. Существует широко распространенное заблуждение, что CGI - это технология, основанная на Perl. Многие люди нападают на CGI как способ совершить культовые атаки на Perl в поддержку любого языка, который они поддерживают. Если вы хотите быть настоящим технологом, вам нужно понять фундаментальные проблемы и сделать выбор на основе фактов ситуации.
CGI - это интерфейс с веб-сервером, который позволяет писать интерактивные страницы на любом языке - даже перед . Когда сервер получает запрос на страницу, управляемую сценарием CGI, сервер запускает сценарий и возвращает результаты запрашивающей стороне.
Если вашему языку программирования требуется, чтобы виртуальная машина, интерпретатор или компилятор загружались при каждом его выполнении, то это время запуска будет требоваться при каждом доступе к вашей странице.
Ускорители CGI, такие как FastCGI, mod_php, mod_perl и т. Д., Постоянно хранят интерпретатор / ВМ в памяти, могут сохранять библиотеки загруженными и даже кэшировать байт-код из сценариев для уменьшения накладных расходов при запуске сценария.
Если вы делаете простой, личный или хобби сайт, CGI будет в порядке. Так же будет и PHP.
Если ваш сайт нуждается в более быстрой технологии, вы можете перейти на mod_perl, FastCGI или другие технологии ускорения CGI.
Какой язык вы используете, должно определяться инструментами, которые он предоставляет, и тем, как они соответствуют вашим потребностям.
- Составьте список необходимых вам возможностей.
- Составьте список нарушителей.
- Теперь проверьте каждый из ваших возможных наборов инструментов по этим двум спискам.
- Какой из них получается лучшим? Проверьте это.
- Это отстой? Вычеркните его из своего списка и вернитесь к шагу 4.
Также я рекомендую не использовать befunge . То, что это возможно, вовсе не означает, что вы должны его использовать.
Обновление: Как указывает mpeters, mod_perl, mod_php, mod_ruby и др. - это гораздо больше, чем просто ускорители CGI; они предоставляют доступ к API Apache. Они действуют как ускорители CGI, но могут многое, многое, многое другое.
FastCGI - чистый ускоритель CGI.
Обновление 2: PHP и CGI не являются взаимоисключающими. PHP может быть установлен как CGI . PHP часто используется с FastCGI.