CGI
CGI (Common Gateway Interface - Общий шлюзовой интерфейс) - это не язык программирования, а спецификация, позволяющая программам запускаться на Web - сервере. Программы CGI создаются во многих языках программирования: Perl, C, Visual Basic и т. п. Программы CGI широко распространены в Web. Даже при заполнении формы анкеты и отправке информации на Web - узел данные принимаются приложениями CGI.
Главное отличие между JavaScript и CGI состоит в том, что CGI выполняется на Web - сервере, а приложения JavaScript - на машине клиента (в Web - браузере). Основной недостаток CGI - это неустранимая необходимость обмена данными между клиентом и сервером, что вызывает большие временные задержки (и недовольство пользователей).
Но если посмотреть с другой стороны, то можно обнаружить, что без CGI иногда просто не обойтись. Например, CGI позволяет считывать и записывать файлы на сервер. Приложения JavaScript позволяют считывать и обрабатывать данные только с формы. Сохранить полученный результат невозможно. Использовать файловые ресурсы Web - сервера может JavaScript, запущенный только на нем.
ActiveX
ActiveX - это спецификация, разработанная Microsoft, которая позволяет запускать на Web - странице обычные приложения Windows. Программы ActiveX создаются в таких языках программирования, как Visual C++ и Visual Basic. Перед тем как запустить их на сервере, их необходимо обязательно откомпилировать.
Приложения ActiveX, называемые элементами управления, загружаются и выполняются Web - браузером, подобно аплетам Java. В отличие от аплетов Java, элементы управления устанавливаются навсегда при загрузке. Нет необходимости загружать их повторно.
Главное преимущество ActiveX состоит в многофункциональности. В некоторых случаях это становится и главным недостатком: иногда программисты - шутники используют ее средства для создания Web - страниц, отключающих компьютер пользователей, которые их загружают, или форматирующих жесткие диски их компьютеров.
К счастью, в ActiveX предусмотрена возможность отслеживать источник элементов управления и таким образом предотвращать нежелательное вмешательство.
Кроме того, ActiveX имеет два больших недостатка. Первый заключается в относительной сложности обучения. Второй состоит во все той же несовместимости с браузерами независимых производителей - ее поддерживают только браузеры Internet Explorer, запущенные на платформе Windows.