Подтвердить что ты не робот

Что такое CGI-скрипты, используемые в эти дни?

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

Насколько часто используется CGI сегодня? Если нет, то что он был заменен?
Существуют ли какие-либо нишевые функции, в которых CGI все еще жив и активно используется?

4b9b3361

Ответ 1

CGI был заменен огромным разнообразием технологий веб-программирования, включая PHP, различные расширения Apache, такие как mod_perl, Java различных вкусов и фреймворков, включая Java EE, Struts, Spring и т.д., основанные на Python фреймворки, такие как Django, Ruby on Rails и многие другие структуры Ruby и различные технологии Microsoft.

Я уверен, что CGI все еще используется для чего-то, но я предполагаю, что это в основном только небольшие фрагменты кода, которые сидят в течение многих лет. Wikipedia действительно упоминает, что FastCGI похож на CGI, но без серьезных недостатков производительности.

Ответ 2

CGI - это протокол, это самый простой и стандартный способ создания динамических страниц.

Существует много случаев, когда это полезно:

  • Если вы хотите создать базовое приложение на языке без mod_XYZ, скажем C или Haskell, это может быть интенсивным вычислением.
  • В встроенных системах, где память стоит дорого, и вы предпочитаете создавать CGI script а не удерживать его в памяти все время.
  • В некоторых сервисах хостинга, где вы хотите предоставить гибкость для написания программного обеспечения на стороне сервера в любой технологии, которую хотите, но, с другой стороны, не используют приложения президента в памяти, используя FastCGI (например, хостинг Sourceforge).
  • Нагрузка на CGI низка, поэтому вы не заботитесь о нерестах приложений на запрос. Например, в таких блогах, как MoveableType, только обновления выполняются через CGI, все остальные обслуживаются через статические страницы, которые CGI script изменяется при необходимости. Таким образом, стоимость нереста CGI script очень низкая.
  • Когда большая часть вашего контента является статическими страницами и вы хотите обслуживать его на сервере, таком как thttpd, так что очень немногие операции, которые выполняются, могут выполняться через CGI, который он поддерживает.

Итак... CGI прост, но по-прежнему очень полезен API, что позволяет просто делать вещи.

Например, script, показывающий время безотказной работы вашего сервера

#!/bin/bash
echo Content-Type: text/plain
echo
uptime

Что может быть проще, проще и меньше зависит от веб-сервера?

Ответ 3

Многие устаревшие сайты по-прежнему построены cgi сегодня, хотя люди в эти дни отходят от него. Одно из хорошо известных приложений, которые все еще используют CGI, которые я знаю, Блог MovableType.

Ответ 4

Я знаю о 2 проектах, которые активно разрабатываются, которые до сих пор используют сценарии CGI для хорошего эффекта.

Первый Webmin инструмент веб-администрирования, который я использую в течение многих лет.

Второй GitWeb, который позволяет вам настроить веб-интерфейс в репозитории Git.

Что касается скорости CGI (или ее отсутствия), я не могу прокомментировать это. Из моего опыта работы с Webmin я не могу сказать, что у меня были проблемы на этом фронте.

Ответ 5

Операционные системы реального времени, в которых перенос (например, PHP) не является вариантом.

Ответ 6

Многие общие хосты обслуживают серверные языки, такие как PHP, python и perl через CGI

Ответ 7

Я все еще использую его на встроенных компьютерах, у которых нет поддержки языка php.

Ответ 8

ASP, PHP, ASP.Net, Ruby on Rails - большие нападающие в эти дни.

Ответ 9

Как и у Cobol и Fortran, на CGI существуют большие системы денег, которые, конечно же, будут хорошо поддерживаться в будущем.

Не то, чтобы новое программное обеспечение не создавалось со всеми этими технологиями время от времени.

Ответ 10

Проект, который я оставил несколько месяцев назад, по-прежнему использует CGI. Тем не менее, сайт предназначен для очень небольшого набора пользователей (он имеет около 40 пользователей и, вероятно, менее 5 использует его часто). В то время как аппаратное обеспечение было заменено 3 или 4 раза, некоторые из этих кодов выполнялись почти 10 лет, практически без изменений. Я уверен, что другие технологии обеспечат повышение производительности, но текущая производительность приемлема, а трудозатраты на внесение изменений коротки, распространяются на слишком много областей и не очень хорошо разбираются в веб-технологиях (особенно с тех пор, как я ушел). Это приводит к тому, что "если он не сломался, не исправляйте это!"

Что касается замен, я использовал/планирую расследование: на моей новой должности я разработал веб-приложение с PHP. Тем не менее, я больше поклонник Python и планирую посмотреть в WSGI в ближайшее время. Я также планирую использовать AJAX для замены программы CGI на сайте, который я добровольно поддерживаю для некоммерческого использования.

Ответ 11

Я уверен, PayPal все еще использует cgi...