Common Gateway Interface - средство расширения возможностей World Wide Web технологии

Главное назначение Common Gateway Interface - обеспечение единообразного потока данных между сервером и прикладной программой, которая запускается из-под сервера

CGI-скрипт - программаПрограмма - (от греч. — пред, греч. — запись) термин, в переводе означающий «предписание», т.е. написанная в соответствии со спецификацией Common Gateway Interface. CGI-скрипты могут быть написаны на любом языке программирования (C, C++, PASCAL, FORTRANФортран (Fortran)— первый язык программирования высокого уровня, имеющий транслятор. Создан в период с 1954 по 1957 год группой программистов под руководством Джона Бэкуса в корпорации IBM (язык Планкалкюль, претендующий на пальму первенства, был изобретён ещё в 1945 году, но не был реализован вплоть до 2000 года). Название Fortran является акронимом от FORmula TRANslator (переводчик формул). Фортран широко используется в первую очередь для научных и инженерных вычислений. Одно из преимуществ современного Фортрана— большое количество написанных на нём программ и библиотек подпрограмм. Среди учёных, например, ходит такая присказка, что любая математическая задача уже имеет решение на Фортране, и, действительно, можно найти среди тысяч фортрановских пакетов и пакет для перемножения матриц, и пакет для решения сложных интегральных уравнений, и многие, многие другие. Ряд таких пакетов создавался на протяжении десятилетий и популярен в научной среде по сей день например— IMSL(англ.). и т. п.) или командном языке (shell, cshell, командный язык MS-DOS, Perl и т. п.). СкриптСкриптовый язык (англ.scripting language, в русской литературе принято название язык сценариев)— язык программирования, разработанный для записи «сценариев», последовательностей операций, которые пользователь может выполнять на компьютере. Простые скриптовые языки раньше часто называли языками пакетной обработки (англ.batch languages или job control languages). Сценарии обычно интерпретируются, а не компилируются (хотя всё чаще применяют компиляцию каждый раз перед запуском). может быть написан даже на языке редактора EMAC в системах Unix

Шлюз - это CGI-скрипт, который используется для обмена данными с другими информационными ресурсами InternetИнтернет (произносится [интэрнэт]; англ.Internet)— всемирная система объединённых компьютерных сетей, построенная на использовании протокола IP и маршрутизации пакетов данных. Интернет образует глобальное информационное пространство, служит физической основой для Всемирной паутины и множества других систем (протоколов) передачи данных. Часто упоминается как «Всемирная сеть» и «Глобальная сеть». В обиходе иногда говорят «Инет». или приложениями-демонами. Обычная CGI- программа запускается сервером HTTP для выполнения некоторой работы, возвращает результаты серверу и завершает свое выполнение

Механизмы обмена данными

  • переменные окружения
  • формат командной строки
  • формат стандартного ввода
  • формат стандартного вывода

Список переменных окружения

К общим переменным окружения относятся:

  • SERVER_SOFTWARE - определяет имя и версию сервера
  • SERVER_NAME - определяет доменное имя сервера
  • GATEWAY_INTERFACE - определяет версию интерфейса

К запросЗапрос— это формулирование своей информационной необходимости пользователем некоторой базы данных, как, например, поисковой системы. Для составления запроса используется язык поисковых запросов.-ориентированным относятся:

  • SERVER_PROTOCOL - протокол сервера
  • SERVER_PORT - определяет порт TCP, по которому осуществляется взаимодействиеВзаимодействие— философская категория, отражающая процессы воздействия объектов друг на друга, их взаимную обусловленность и порождение одним объектом другого. Взаимодействие— объективная и универсальная форма движения, развития, которая определяет существование и структурную организацию любой материальной системы. (80 порт)
  • REQUEST_METHOD - определяет метод доступа к информационному ресурсу
  • PATH_INFO - передает программе путь (адрес скрипта) в виде, указанном в HTML-документе
  • PATH_TRANSLATED - то же, что и PATH_INFO, но только после подстановки сервером определенных в его конфигурации вставок
  • SCRIPT_NAME - определяет адрес скрипта так, как он указан клиентом
  • QUERY_STRING - определяет содержание запроса к скрипту

Идентификация пользователя и его машины:

  • REMOTE_HOST - доменныйДомен (фр.domaine)— область. Домен (область)— в Средние века, владения короля либо какого-либо феодала. В переносном смысле домен— это единица структуры. адрес машины, с которой осуществляется запрос
  • REMOTE_ADDR - IP-адрес запрашивающей машины
  • AUTH_TYPE - тип идентификации пользователя
  • REMOTE_USER - идентификация пользователя
  • REMOTE_IDENT - устанавливается сервером; предназначена для первоначального использования скрипта
  • CONTENT_TYPE - определяет MIME-тип данных, передаваемых скрипту
  • CONTENT_LENGTH - определяет размер данных в байтах, которые передаются скрипту

Стандартный ввод CGI-скрипта

  • Методы GET или Post
  • CONTENT-LENGHT
  • CONTENT-TYPE
  • QUERY-STRING

Стандартный вывод CGI-скрипта

  • Заголовок
    • CONTENT-TYPE
    • Location
    • Status
  • Тело ответа (обычно текст)

Применение CGI-скриптов

  • Простейшие SHELL-скрипты
  • Вызов внешней программы через SHELL
  • Вызов модуля "С"
  • Доступ к базам данных
  • Imagemap

Примеры SHELL-скриптов


#!/bin/sh

echo Content-type: text/plain

echo

echo This is the result of script execution.

#The end of script



#!/bin/sh

echo Content-type: text/plain

echo

echo $REQUEST_METHOD

echo $QUERY_STRING

echo $CONTENT_TYPE

echo $CONTENT_LENGTH



#The end of script.

#!/bin/sh

echo Content-type: text/plain

echo

finger paul@polyn.kiae.su

#The end of script.

Пример С-программы


#include <stdlib.h>;

#include <sys/types.h>;

main()

    {

     long i,n,uid;

     char input_ch[1024];

     char *env;
env = getenv("CONTENT_LENGTH"); /* Here we recieve a length */ sscanf(env,"%d",&n); /* of input stream and form */ for(i=0;i<;n;i++) /* command line */ { input_ch[i] = getchar(); } input_ch[i] = '\000'; printf("Content-type: text/html\n\n"); /* First message of a CGI Programme */ /* This message must be a first one */ /* in output sream. */
printf("<TITLE> C-cgi script.(example#1)</TITLE>\n"); printf("<H3><I> Russian Research Center \"Kurchatov Institute\"<I></H3>\n"); c_uid = -1; sscanf(input_ch,"uid=%ld",&uid); /* Transform input data */ printf("Input Nuber:%ld.<BR><HR>",uid); exit(0); }

Доступ к базе данных под управлением Ingres

  • Простой вызов постоянного запроса
  • Форматирование вывода
  • Запрос через Query-String
  • Фильтрация

Примеры скриптов


#!/bin/sh

echo Content-type: text/plain

echo

ingres polyn < query

#The end of script



#!/bin/sh

echo Content-type: text/plain

echo

helpr polyn

#The end of script
#!/bin/sh echo Content-type: text/html echo echo '< PRE> ' helpr polyn situat echo '< /PRE> ' #The end of script
#!/bin/sh echo Content-type: text/html echo echo '< PRE> ' echo $QUERY_STRING | tr "+" " " | ingres polyn echo '< /PRE> ' #The end of script
#!/bin/sh echo Content-type: text/html echo echo '< PRE> ' echo $QUERY_STRING | sed -f symbols | ingres polyn | tr "\007" "*" | head 100 echo '< /PRE> ' #The end of script

Пример интерфейсной формы

Результат выполнения скрипта

Организация стека графических ссылок

Скрипт imagemap


<A href=#>



# метка : адрес файла описания картинки


russia : /usr/local/etc/httpd/cgi-bin/maps/russia.map

brussia : /usr/local/etc/httpd/cgi-bin/maps/brussia.map

....

#описание прямоугольника


rect 10 20 100 200

circle 50 50 60 60

poly 10 10 20 20 20 10

Мы рекомендуем еще посмотреть:

 
Навигатор по документам
Тема: 
Тип: 
за период:
Год: 
Месяц: 
 
[15 февраля 2006 г.]
s-networks - лучший дистрибьютор Avaya в России

На ежегодной встрече "Клуба Звезд" - лучших партнеров компании Avaya - традиционно подводились итоги прошедшего года. Компания s-networks признана лучшим дистрибьютором России за 2005 год.

подробнее
 
В центре внимания - новые решения Cisco для малого и среднего бизнеса

27 января 2006 г. s-networks провел семинар «Новые решения компании Cisco Systems для малого и среднего бизнеса»

подробнее
 
Круглый стол s-networks на ВКСС-2005

Круглый стол открыл доклад руководителя Направления беспроводных технологий Станислава Рыбалко об основных тенденциях развития беспроводного рынка в мире и в России, а также о тех ожиданиях, которые сейчас связываются с WiMax.

подробнее
 
СОЦГОРБАНК эффективно поддерживает телефонную связь с клиентами

Компания Forte-IT завершила установку Call-центра "Call-o-Call" собственного производства в центральном офисе СОЦИАЛЬНОГО ГОРОДСКОГО БАНКА.

подробнее
 
[21 июля 2005 г.]
"Работаем вместе!" - 5 лет

s-networks представляет результаты работы партнерской программы за пять лет

подробнее
 
Десятая юбилейная конференция по беспроводным технологиям – БЕСЕДА
WiMAX в России

Десятая юбилейная конференция собрала лидеров рынка беспроводных технологий: производителей, разработчиков ПО, операторов, системных интеграторов, а также представителей регулирующих органов, – всех тех, кто движет «беспроводной локомотив». География участников – самая обширная: это и Россия, и страны СНГ, и дальнее зарубежье.

подробнее
 
Итоги маркетинговой программы
«Бизнес на скорости Формулы-1»

Определились победители в маркетинговой кампании, выигравшие поездку в Венгрию на этап Гран При Формулы-1.

подробнее
 
Дистрибьюторский портфель s-networks пополнился решениями EMC2

Компании EMC2 и s-networks сообщают о начале сотрудничества по продвижению систем хранения данных на российском рынке. Компания s-networks, известный дистрибьютор и центр экспертизы в области телекоммуникаций, получила статус Фокусного Дистрибьютора решений американского производителя EMC2 на территории России и стран СНГ.

подробнее
 
«Ростик Ресторантс» принимает гостей вместе с «Call-o-Call»

Использование call-центра в ресторанном бизнесе является таким же атрибутом современного предприятия, как хорошо составленное меню, безупречная чистота, доброжелательность персонала, приветливая улыбка!

подробнее
 
s-networks — успешный дистрибутор серверов Kraftway

По итогам 2004 года дистрибуция компанией s-networks серверов российского производителя отмечена памятной наградой

подробнее
Документов найдено - 65 Страница - 2 (7)   [1] [2] [3] [4] [5] ..Следующая страница
2009 IT и оборудование для бизнеса, S-NETWORKS. Информационные технологии и Информационное оборудование