Связь и интернет Архив Программирование
Интернет
Интернет

CGI. Что это такое?

Сотовые мобильные телефоныПолифонические мелодии для сотовых
Связь :
Новости
Мобильные технологии
Программы для сотовых
Картинки для сотовых
Новинки
Виды связи
Российские операторы
Сотовые телефоны
Мелодии для сотовых
Права потребителя мобильника
Это интересно!
Телефонные карты
Доска объявлений
Новости связи
Новые статьи

Интернет :
Новости
Новые технологии
Безопасность в интернет
История Интернета
Принцип работы Интернета
Создание сайта
Обучение Интернет
Право и Интернет
Интернет-бизнес
Техника в Интернет
Провайдеры России
Зарубежные провайдеры
Рейтинги почтовых служб
Литература
Словарь терминов
Гостевая
Партнеры
Голосование :
Ваша модель телефона:
Наиболее популярные модели :
Nokia 3310 271
Motorola v50 198
Siemens C45 139
Motorola T191 94
Siemens C55 93
Siemens ME45 87
Samsung SGH R220 82
Samsung SGH N500 79
Nokia 3510 74
Siemens M50 73
Поиск по сайту :
Новые статьи
Rambler's Top100 Rambler's Top100
Сотовые телефоны Новости
Интернет : Создание сайта ->

CGI. Что это такое?

Обычно гипертекстовые документы, извлекаемые из веб-серверов, содержат статические данные. Необходимо отметить, что достаточно большое количество веб-приложений основано на использовании внешних программ, управляемых веб-сервером. Использование данных программ позволяет строить веб-приложения с динамически обновляемой информацией, хранящейся в базах данных или генерирующейся в зависимости от правил решаемых задач. Для связи между веб-сервером и вызываемыми программами широко используется стандарт интерфейса CGI (Common Gateway Interface), имеющий реализации как для Windows-ориентированных программ, так и для приложений, функционирующих в среде Unix. Задача построения интерфейса внешней прикладной программы с веб-сервером делится на две части: клиентская часть и серверная часть. Для создания клиентской части необходимо создать HTML-документ, в котором реализован интерфейс с пользователем. В языке HTML это возможно посредством форм. Серверная часть состоит из исполняемого модуля, решающего основные задачи обработки данных поступающих от клиентской части, формирования ответа в формате HTML, и так далее.

Напомню, что CGI - протокол, механизм, или формальное соглашение между веб-сервером и отдельной программой. Сервер кодирует входные данные, например HTML-формы, а программа CGI декодирует их и генерирует поток выходных данных. Главное назначение Common Gateway Interface - обеспечение единообразного потока данных между сервером и прикладной программой, называемой CGI-скриптом, которая запускается из-под сервера. CGI-скрипт - программа написанная в соответствии со спецификацией Common Gateway Interface. В спецификации протокола ничего не сказано о каком-либо определенном языке программирования. Поэтому CGI-скрипты могут быть написаны практически на любом языке - на C, C++, Visual Basic, Perl и так далее. Однако наиболее простым и доступным является использование языка Perl (Practical Extraction and Report Language - практический язык извлечений и отчетов).

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

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

Как выполняемый модуль, CGI-скрипт обычно размещается на веб-сервере в каталоге cgi-bin, который расположен в вашем домашнем каталоге. Это обязательное условие. Если поместить CGI-скрипт в другое место - выполняться он не будет. Допустим, ваш домен - www.domain.ru, тогда абсолютный путь к каталогу cgi-bin будет выглядеть примерно так: /home/www.domain.ru/cgi-bin, а URL для скрипта script.cgi, лежащего в каталоге cgi-bin - так: http://www.domain.ru/cgi-bin/script.cgi.

Для того чтобы CGI-скрипт мог выполняться необходимо правильно выставить его права (permissions). Эти права должны быть равны 755 (-rwx------). Обратите внимание, что при установке других прав скрипт выполняться не будет! Выставить права можно из shell'a или с помощью FTP-клиента. Например, для CuteFTP достаточно щелкнуть правой кнопкой мыши на файле, выбрать пункт "Change File Attributes", и в открывшемся окошке выставить флажками значение "755" (или просто набрать в поле ввода "755").

Следует обратить внимание и на самую первую строчку скрипта, написанного на Perl. Она указывает на расположение интерпретатора Perl в системе. При неверном указании CGI-скрипт, конечно же, работать не будет. Строчка должна иметь следующий вид:
#!/usr/bin/perl или #!/usr/local/bin/perl

Если скрипт работает с какими-либо файлами, в которые он записывает информацию (счетчики, форумы, гостевые книги) проверьте правильность указания пути к этим файлам. Может возникнуть ситуация, когда эти файлы обычно должны иметь права доступа "777" (-rwxrwxrwx), также как и каталоги в которых они лежат. Это означает, что сам CGI-скрипт и файл, содержащий данные необходимые для работы этого скрипта, должны находиться в разных каталогах. Если поместить исполняемый скрипт в каталог с правами доступа "777" или "775", то он не будет выполняться. Также он не будет выполняться, если он сам имеет права доступа "777" или "775". Вообще, данные для работы скриптов нет необходимости хранить в каталоге cgi-bin, их лучше размещать в каталоге WWW, отслеживая при этом правильность указания путей к ним.

Обратите также внимание на то, что установка прав доступа "777" на файл или каталог означает то, что любой пользователь получает полные права (чтение/запись/исполнение) на этот файл. Это является небезопасным, поэтому подобные права доступа на файлы необходимо выставлять только если это действительно необходимо.

Во время написания или редактировавния скрипта нужно пользоваться специальным текстовым редактором. Это обусловлено тем, что в ОС Windows и UNIX по-разному описывается переход на следущую строку. Большинство текстовых редакторов под Windows вставляют в конец строки символ #13 (возврат каретки). Незаметный для пользователей Windows он приводит к ошибке в UNIX. Для того, чтобы избежать подобных проблем, следует пользоваться специальным редактором, умеющим сохранять файлы в формате UNIX без символа возврата каретки. Либо возможен вариант, когда Вы редактируете и сохраняете файлы скриптов в обычном Windows-формате, а при закачивании через ftp устанавливаете опцию "text mode" (в некоторых ftp-клиентах она называется "ascii mode").

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


Комментарии к статье

 
Copyright ©RIN 2003 - 2004.* connect@rin.ru
Российская Информационна Сеть