Из-за опасности терактов Минатом усиливает охрану ядерных объектовДагестан: федеральные силы почти захватили село ЧабанмахиПименов скрылся в Праге

Gazeta.Ru

Prev   25.11. 0, вторник Московское время: 12:15:33 Выпуск No. 029   Next
 
[09.04.1999, 23:34:02]
Дмитрий Турецкий,
<dmitri@listsoft.com>
Что такое CGI и как с ним бороться



Начнем с того, что под термином CGI понимают две вещи: Common Gateway Interface - это интерфейс, который позволяет web-серверу запускать и выполнять программы по запросу браузера, и возвращать результат работы таких программ. Другое значение - это та самая программа, которая выполняется на сервере.

Для авторов страниц интерес представляет как раз второе (и, кстати, более часто встречающееся) значение. В этой заметке, говоря о CGI, я буду иметь в виду программу или скрипт, которая должна запуститься на сервере и что-то сказать вашему браузеру. Программа может быть написана на любом языке программирования - скажем, C++, Pascal, Visual Basic и т.п., и откомпилирована для использованя в той операционной системе, в которой работает сервер. Скрипт - это текстовый файл, в котором записаны команды какого-либо интерпретатора, установленного на сервере. Я не уверен, что подобную терминологию можно считать "официальной", но думаю, что общий смысл понятен.

И программа, и скрипт должны уметь читать данные из стандартного входа, понимать переменные окружения и отдавать результат вычислений на стандартный выход. Выбор конкретной реализации - использовать ли программу или скрипт, на каком языке писать - остается за пользователем (то есть за вами). Главное, чтобы на сервере был установлен необходимый интерпретатор (в случае скрипта) и чтобы провайдер разрешил его использовать. В общем случае скрипты используются для более простых задач, не требующих большой скорости (большой по меркам компьютера!), а программы - для более профессиональных задач. В скрипты значительно проще вносить изменения, т.к. это обычный текстовый файл.

CGI можно использовать для чего угодно - это может быть и выборка данных из базы, и счетчик посетителей, и поиск по сайту, и обработка данных, введенных посетителями странички, и разнообразная статистика, и... Есть два метода или режима работы CGI - SSI (Server Side Include) и обычный. В обычном режиме запуск CGI осуществляется пользователем - он должен щелкнуть по ссылке или нажать кнопку Submit в форме; SSI же выполняется в момент получения пользователем странички с сервера и позволяет вставить в страничку какую-то информацию, например, число посетителей либо дату. Отличие CGI от, скажем, Java-Script-а заключается в том, что CGI скрипт выполняется на сервере, а Java-Script - на компьютере пользователя.

Многие начинающие (и не только) пользователи, особенно те, кто сравнительно мало связан с Интернетом, свято уверены, что написание и использование CGI - это жутко сложная вещь, недоступная простому смертному. Я знаю довольно много программистов, которые придерживаются этой же точки зрения. Более того, еще относительно недавно я и сам так считал... На самом деле, все намного проще: если вы способны написать какой-нибудь .bat файл, то вы можете написать и CGI скрипт!

Если вы все же решитесь, то один из первых вопросов, которые встанут перед вами, будет выбор языка. Как я и говорил, можно использовать любой. Свяжитесь со своим провайдером и спросите, что у него установлено. Я, когда начал писать CGI, решил, что не помешает заодно подучить новый язык и остановился на Perl-е. Perl - он только выгдядит страшным и непонятным, а на самом деле - довольно простой, удобный и мощный. Но выбор остается за вами!

Один из лучших, как мне кажется, способов научиться писать CGI - использовать чужой опыт. Скачайте и установите какой-нибудь скриптик-другой из общедоступных архивов... Заработало? Теперь попробуйте разобрать его по косточкам и понять, как что работает... Поменяйте внешний вид, алгоритм вычислений, добавьте какую-нибудь функцию... Получается? Теперь готовьтесь к тому, что скоро вы начнете получать от посетителей своей странички письма с просьбами прислать ваш скриптик или объяснить, почему не работает их собственный...


. Лист SOFT: подпишись!
. download.ru: русский софт
. Freeware.ru: халява, сэр!
. FreewareHome - то же
. DaveCentral - каталог
. TuCows - выбери зеркало
. WinFiles - часть C|Net.
. NoNags - только даром
. Filez - поиск софта
. FTPSearch - пойск по FTP
... Русский FTPSearch
ПРОШЛЫЕ ВЫПУСКИ
АВГУСТ 1999
Пн Вт Ср Чт Пт Сб Вс
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

НОВОСТИ OFFLINE
Наши новости - на пейджер Мобил Телеком!
Наши новости - на ваш пейджер!
НОВОСТЬ ДНЯ
В Москве взорвался жилой дом
В Москве взорвался жилой дом
КОММЕНТАРИИ
Пропавшие дети - 2
Пропавшие дети - 2
ПОМОГИТЕ ДЕТЯМ!
П о м о г и т е  д е т я м !
WWW.SOS.RU
Ляпкин Антон Ляпкин Антон
Отсутствие желчного пузыря
Роман Чеснов (3435) 23-64-94
ПОЛИТИКА В РЖ
Война. Отставка. Все про август!
Война. Отставка. Все про август!
MSNBC.RU
GAZETA.RU - ПАРТНЕРЫ MSNBC.RU
ПРАЗДНИК
праздник



ПОИСК ПО РАЗДЕЛАМ:

GAZETA.RU

.   Ну и денек

.   Бесэдер?

.   Немузыка

.   Macht Frei

.   Time o'clock

.   Текущий выпуск

.   От редакции

.   Алгоритм

.   Досье

.   Дисковод

.   Публикация

.   Служебный раздел

.   Здоровье

.   Интернет

.   Интервью

.   Книги

.   Комментарии

.   Культура

.   Курицын Daily

.   Лесные дали

.   Мнения

.   Наедине со всеми

.   Общество

.   Пресса

.   Пушкинский проект

.   Спорт



Lenta.Ru Rambler

RB2 Network

RB2 Network

Prev   25.11. 0, вторник Московское время: 12:15:33 Выпуск No. 029   Next

Пишите нам: info@gazeta.ru
Copyright © Gazeta.Ru
RRU_Network