Каковы были основные недостатки веб-разработки на основе CGI-BIN?

StackOverflow https://stackoverflow.com/questions/424839

  •  05-07-2019
  •  | 
  •  

Вопрос

Мне посчастливилось не заниматься веб-разработкой на основе cgi-bin .cgi.Но, как правило, те, у кого это было, похоже, не "скучают" по тем дням.

У проекта, к которому я недавно присоединился, возникла проблема с производительностью при работе со страницами, которые должны взаимодействовать с устаревшей системой, имеющей API на основе CGI-BIN.Эта система называется COGNOS 7.

Отзывы, которые я получил на сегодняшний день, сводятся к тому, что "COGNOS работает медленно", но другие сообщают о большом успехе COGNOS, я думаю, что это больше связано с доступом через CGI-BIN, а не с производительностью COGNOS как таковой.

Все это говорит о том, каковы основные проблемы, которые сделали веб-разработку на основе CGI-BIN неэффективной, сложной и т.д...

Это было полезно?

Решение

Фундаментальная архитектурная проблема систем, основанных на CGI-BIN, заключается в том, что каждый HTTP-запрос требует от сервера запуска нового процесса.Это влияет на производительность несколькими способами:

  • Запускать процесс дорого, так как операционная система загружает страницы в программу, настраивает процесс и т.д.
  • Ресурсы не могут быть разделены между запросами, так что любые подключения к БД и т.д.должны быть настроены с каждым запросом
  • Состояние сеанса пользователя не может быть сохранено в памяти, поэтому оно должно сохраняться при каждом запросе

Другие советы

Для меня самая большая проблема с CGI заключается в том, что мои CGI-программы должны «учиться». все каждый раз, когда они запускаются. Если бы они постоянно бегали, это было бы не так, конечно ...

Основным недостатком, IMHO, был тот же недостаток, что и у всех низкоуровневых кодов - вместо программирования в проблемной области вам приходилось программировать в области реализации. Конечный результат по своей сути был идентичен - HTTP-ответ был отправлен клиенту на основе HTTP-запроса. Однако получить к эту точку зрения было гораздо сложнее с точки зрения программирования.

Apache предлагает несколько решений для разных языков (например, mod_perl ), так что скрипт вызывается только один раз, затем удерживается в памяти для быстрого поиска. Существует еще множество сайтов, управляемых протоколом GCI, многие из которых работают с достаточно низкой задержкой, если они хорошо закодированы и настроены.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top