<р> Тем не менее, для всех его преимущества, CGI страдает от некоторых серьезных недостатков, которые делают его непривлекательным для некоторых веб-сайтов. Его две основные недостатки относятся к безопасности и скорости.
<Р> С появлением Интернета, значительные дыры в интерфейсе CGI были обнаружены, что, если сценарий плохо написана, может позволить систему запуска веб-сервер быть полностью доступными для знающих хакера.
Это делает CGI меньше, чем хотелось, где безопасность данных на веб-сервере имеет первостепенное значение, как это было бы в большинстве корпоративных интернет и интранет-серверов, и, особенно, на сайтах, предлагающих онлайн финансовые операции и продажи кредитных карт.
<Р> Кроме того, интерфейс CGI не очень эффективным. Веб-сервер работает один или несколько процессов, которые отвечают клиентских запросов. Затем браузер начинает дочерние процессы для программы CGI, передавая данные на этом новом процессе и ждет его, чтобы закончить.
На оживленной сайте, это может привести к большому количеству новых процессов, нуждающихся в начать в короткие периоды времени, особенно там, где скрипты CGI в настоящее время в значительной степени используются. Каждый запрос на программу CGI приводит в отдельный процесс для каждого запроса.
<Р> Это очень неэффективный способ обрабатывать большие объемы данных и запросов, и это причина, почему многие ведущие веб-серверы реализованы собственные интерфейсы для писать серверные программы.
<р> Программа интерфейсы прикладного
интерфейсы предоставляют возможность писать программы, которые объединяют плотно в веб-сервере и, как правило, не требуется новых процессов для каждого запроса. API-интерфейсы позволили разработка веб-приложений, которые способны обрабатывать большое число запросов по сравнению с аналогичными CGI-решений на базе. Кроме того, растворы на основе API было предметом критики менее в отношении безопасности.
Программы API на основе может вообще сделать ту же работу, как сделать CGI программы, такие, как обработка информации, содержащейся в формах, доступ к данным в базах данных и проверки.