Э н ц и к л о п е д и я    н е о б х о д и м ы х    к о м п ь ю т е р н ы х    з н а н и й
ezPC
     Поиск:   по сайту  по архиву новостей   

                Сегодня:

Разделы сайта

Первая полоса
Архив новостей
Железо
Компьютеры
Процессоры
Материнские платы
Память
Видеокарты
Звуковые карты
Сетевые карты
Накопители
Устройства ввода
Корпуса
Мониторы
Принтеры
Модемы
Сканеры
Цифровые камеры
Плоттеры
Дигитайзеры
ИБП
Кабели / Разъемы
Ссылки
Софт
Операционные системы
Приложения
Ссылки
Разное
Интернет
Полезняшки
Читальный зал
Конференц-зал
Комната смеха
Веб-камеры
Желтые страницы Сети
Поиск информации
Друзья сайта
EzPC -
Компьютерые новости

Мобилографический Петербург
Реклама
Интернет
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").
Если Вы не очень опытны в написании собственных скриптов, Вы можете воспользоваться уже готовыми скриптами, которые можно найти на специальных серверах. Обычно установка таких скриптов сводится к правильному прописыванию путей к файлам, а также проверке и редактированию первой строчки скрипта. Поискать необходимые скрипты можно на здесь: www.cgi.ru, www.script.ru, www.cgi-resources.com.

 
Наверх /     / Назад /

      
контент
       Rambler's Top100       Рейтинг@Mail.ru       Яндекс цитирования       количество читателей онлайн и всего