ВУЗ:
Составители:
Обычно гипертекстовые документы, извлекаемые из WWW серверов,
содержат статические данные. С помощью CGI можно создавать CGI-
программы, называемые шлюзами, которые во взаимодействии с такими
прикладными системами, как система управления базой данных, электронная
таблица, деловая графика и др., смогут выдать на экран пользователя
динамическую информацию.
Программа-шлюз запускается WWW сервером в реальном масштабе
времени. WWW сервер обеспечивает передачу запроса пользователя шлюзу, а
она, в свою очередь, используя средства прикладной системы, возвращает
результат обработки запроса на экран пользователя. Программа-шлюз может
быть закодирована на языках C/C++, Fortran, Perl, TCL, Unix Schell, Visual
Basic, Apple Script. Как выполнимый модуль, она записывается в
поддиректорий с именем cgi-bin WWW сервера. Работа:
1) Передача данных шлюзам. Для передачи данных об информационном
запросе от сервера к шлюзу, сервер использует командную строку и
переменные окружения. Эти переменные окружения устанавливаются в тот
момент, когда сервер выполняет программу шлюза.
2) Запросы для различных методов. Информация шлюзам передается в
следующей форме:
имя=значение&имя1=значение1&..,
где имя- имя переменной (из оператора FORM, например), и значение - ее
реальное значение. В зависимости от метода, который используется для
запроса, эта строка появляется или как часть URL (в случае метода GET), или
как содержимое HTTP запроса (метод POST). В последнем случае, эта
информация будет послана шлюзу в стандартный поток ввода. На файловый
дескриптор стандартного потока ввода посылается CONTENT_LENGTH байт.
Так же сервер передает шлюзу CONTENT_TYPE (тип передаваемых данных).
Сервер не обязан посылать символ конца файла после отсылки
CONTENT_LENGTH байт данных и после того, как шлюз их прочитает.
Пример: Возьмем результат работы формы с методом POST
(METHOD="POST") в качестве примера. Пусть получено 7 байт,
закодированных примерно так:
a=b&b=c.
В этом случае, сервер установит значение CONTENT_LENGTH равным 7
и CONTENT_TYPE в application/x-www-form-urlencoded. Первым символом в
стандартном потоке ввода для шлюза будет "a", за которым будет следовать
остаток закодированной строки.
3) Аргументы командной строки. Шлюз в командной строке от сервера
получает:
- остаток URL после имени шлюза в качестве первого параметра
(первый параметр будет пуст, если присутствовало только имя шлюза), и
- список ключевых слов в качестве остатка командной строки для
скрипта поиска, или
65
Обычно гипертекстовые документы, извлекаемые из WWW серверов, содержат статические данные. С помощью CGI можно создавать CGI- программы, называемые шлюзами, которые во взаимодействии с такими прикладными системами, как система управления базой данных, электронная таблица, деловая графика и др., смогут выдать на экран пользователя динамическую информацию. Программа-шлюз запускается WWW сервером в реальном масштабе времени. WWW сервер обеспечивает передачу запроса пользователя шлюзу, а она, в свою очередь, используя средства прикладной системы, возвращает результат обработки запроса на экран пользователя. Программа-шлюз может быть закодирована на языках C/C++, Fortran, Perl, TCL, Unix Schell, Visual Basic, Apple Script. Как выполнимый модуль, она записывается в поддиректорий с именем cgi-bin WWW сервера. Работа: 1) Передача данных шлюзам. Для передачи данных об информационном запросе от сервера к шлюзу, сервер использует командную строку и переменные окружения. Эти переменные окружения устанавливаются в тот момент, когда сервер выполняет программу шлюза. 2) Запросы для различных методов. Информация шлюзам передается в следующей форме: имя=значение&имя1=значение1&.., где имя- имя переменной (из оператора FORM, например), и значение - ее реальное значение. В зависимости от метода, который используется для запроса, эта строка появляется или как часть URL (в случае метода GET), или как содержимое HTTP запроса (метод POST). В последнем случае, эта информация будет послана шлюзу в стандартный поток ввода. На файловый дескриптор стандартного потока ввода посылается CONTENT_LENGTH байт. Так же сервер передает шлюзу CONTENT_TYPE (тип передаваемых данных). Сервер не обязан посылать символ конца файла после отсылки CONTENT_LENGTH байт данных и после того, как шлюз их прочитает. Пример: Возьмем результат работы формы с методом POST (METHOD="POST") в качестве примера. Пусть получено 7 байт, закодированных примерно так: a=b&b=c. В этом случае, сервер установит значение CONTENT_LENGTH равным 7 и CONTENT_TYPE в application/x-www-form-urlencoded. Первым символом в стандартном потоке ввода для шлюза будет "a", за которым будет следовать остаток закодированной строки. 3) Аргументы командной строки. Шлюз в командной строке от сервера получает: - остаток URL после имени шлюза в качестве первого параметра (первый параметр будет пуст, если присутствовало только имя шлюза), и - список ключевых слов в качестве остатка командной строки для скрипта поиска, или 65
Страницы
- « первая
- ‹ предыдущая
- …
- 64
- 65
- 66
- 67
- 68
- …
- следующая ›
- последняя »