Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему CGI и веб-программирование

Содержание

Тема 6CGIивеб-программирование
Владивостокский государственный университет экономики и сервиса Институт информатики инноваций и бизнес систем Тема 6CGIивеб-программирование Содержание: 1) Интерфейс CGI, его задачи и функции2) Исполнения CGI-скриптов3) Структура URL Интерфейс CGI представляет собой спецификацию взаимодействия веб-сервера и внешней программы, Клиент может запросить у веб-сервера как документ-файл с диска, так Данные из заполненной клиентом HTML-формы могут передаваться на сервер двумя Content-Type: text/html        Hello, ScriptAlias /виртуальный/путь/ /путь/к/каталогу/  ScriptAlias /cgi-bin/ /usr/local/www/cgi-bin/  Это означает, Для работы CGI-программ важное значение имеют части URL, называемые PATH_INFO Пары имя-значение разделяются амперсандом. Алфавитно-цифровые символы и некоторые знаки препинания, AUTH_TYPE - Метод аутентифицирования, использованный для опознания пользователя. См. также REMOTE_USER и HTTP_ACCEPT - Список MIME-типов данных, которые клиент может принять.HTTP_FROM - Адрес электронной QUERY_STRING - Данные запроса, переданные в составе URL вслед за вопросительным знаком SERVER_NAME - DNS-имя сервера или, при невозможности определить имя, его IP-адрес. SERVER_PORT Поскольку все HTTP-запросы независимы друг от друга и на уровне протокола cookies - сохранение на компьютере клиента, скрытые поля - сохранение внутри формы, При программировании CGI-скриптов всегда следует помнить, что при каждом очередном my $x;     # $x создается, равно Списком (list) называется упорядоченная последовательность скалярных значений; порядковые номера (индексы) if (...) {...};  условие ? выражение_да : выражение_нет ; $x= "A", b=> "B");"> Какие действия предпринимает сервер, если для обработки поступившего запроса требуется запуск CGI-программы?Почему Рекомендуемая литература:Мамаев М., Петренко С. Технологии защиты информации в Интернете. Специальный справочник. Использование материалов презентацииИспользование данной презентации, может осуществляться только при условии соблюдения требований
Слайды презентации

Слайд 2 Тема 6

CGI
и
веб-программирование

Тема 6CGIивеб-программирование

Слайд 3 Содержание:
1) Интерфейс CGI, его задачи и функции
2) Исполнения

Содержание: 1) Интерфейс CGI, его задачи и функции2) Исполнения CGI-скриптов3) Структура

CGI-скриптов
3) Структура URL и кодирование данных запроса
4) Переменные окружения

CGI.
5) Программирование CGI-скриптов
6) Введение в Perl

Слайд 4 Интерфейс CGI представляет собой спецификацию взаимодействия

Интерфейс CGI представляет собой спецификацию взаимодействия веб-сервера и внешней программы,

веб-сервера и внешней программы, которую веб-сервер запускает для обработки

запроса. CGI определяет каким образом данные, предоставленные клиентом в запросе, передаются программе, как программа возвращает сгенерированный HTML-контент серверу, и какие переменные окружения устанавливаются сервером при запуске программы.

Основная концепция


Слайд 5 Клиент может запросить у веб-сервера как

Клиент может запросить у веб-сервера как документ-файл с диска, так

документ-файл с диска, так и документ, динамически формируемый некоторой

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

Слайд 6 Данные из заполненной клиентом HTML-формы могут

Данные из заполненной клиентом HTML-формы могут передаваться на сервер двумя

передаваться на сервер двумя методами: GET и POST, это

определяется параметром method соответствующего тэга
.

В первом случае (GET) данные присоединяются после вопросительного знака в конец URL, указанной в параметре action, во втором случае - передаются в теле запроса - в секции, предназначенной для данных (следует после всех заголовков и пустой строки).

Слайд 7

Content-Type: text/html


Content-Type: text/html     Hello, world  	  Например, вывод CGI-программы


Hello, world



Например, вывод CGI-программы


Слайд 8
ScriptAlias /виртуальный/путь/ /путь/к/каталогу/
ScriptAlias /cgi-bin/

ScriptAlias /виртуальный/путь/ /путь/к/каталогу/ ScriptAlias /cgi-bin/ /usr/local/www/cgi-bin/ Это означает, что для

/usr/local/www/cgi-bin/


Это означает, что для обработки запроса URL

вида http://your.server.com/cgi-bin/dir/script будет взят не файл script из каталога DocumentRoot/cgi-bin/dir/, а запущена программа /usr/local/www/cgi-bin/dir/script.

Конфигурирование сервера Apache


Слайд 9
Для работы CGI-программ важное значение имеют

Для работы CGI-программ важное значение имеют части URL, называемые PATH_INFO

части URL, называемые PATH_INFO и QUERY_STRING.

Рассмотрим запрос с URL

вида:

http://my.server.com/cgi-bin/dir/prog/a/b?A=1&B=qwerty

PATH_INFO - /a/b
QUERY_STRING - A=1&B=qwerty

Структура URL


Слайд 10 Пары имя-значение разделяются амперсандом. Алфавитно-цифровые символы

Пары имя-значение разделяются амперсандом. Алфавитно-цифровые символы и некоторые знаки препинания,

и некоторые знаки препинания, не имеющие специального значения (тире,

подчеркивание) передаются как есть. Остальные символы кодируются в виде "%NM", где NM - двузначный шестнадцатеричный код символа.

.../prog?birthday=11%2F05%2F73&name=John+Smith

birthday - "11/05/73 "
name - "John Smith"

Слайд 11 AUTH_TYPE - Метод аутентифицирования, использованный для опознания пользователя.

AUTH_TYPE - Метод аутентифицирования, использованный для опознания пользователя. См. также REMOTE_USER

См. также REMOTE_USER и REMOTE_IDENT.
CONTENT_LENGTH - Длина данных запроса

в байтах, переданных CGI-скрипту через стандартный ввод.
CONTENT_TYPE MIME - Тип данных запроса.
DOCUMENT_ROOT - Корневой каталог дерева документов веб-сервера.
GATEWAY_INTERFACE - Используемая версия CGI.

Переменные окружения CGI


Слайд 12 HTTP_ACCEPT - Список MIME-типов данных, которые клиент может

HTTP_ACCEPT - Список MIME-типов данных, которые клиент может принять.HTTP_FROM - Адрес

принять.
HTTP_FROM - Адрес электронной почты пользователя, сделавшего запрос (многие

броузеры не передают такие данные).
HTTP_REFERER - URL документа, в котором находилась ссылка, вызвавшая настоящий запрос.
HTTP_USER_AGENT - Броузер клиента.
PATH_TRANSLATED - PATH_INFO, преобразованное в полный путь в файловой системе сервера

Переменные окружения CGI


Слайд 13 QUERY_STRING - Данные запроса, переданные в составе URL

QUERY_STRING - Данные запроса, переданные в составе URL вслед за вопросительным

вслед за вопросительным знаком
REMOTE_ADDR - IP-адрес клиента.
REMOTE_HOST -

Имя DNS клиента.
REMOTE_USER - Аутентифицированное имя пользователя.
REQUEST_METHOD - Метод запроса (GET, POST, HEAD и т.д.).
SCRIPT_NAME - Виртуальный путь (например, /cgi-bin/program.pl) к исполняемому CGI-скрипту

Переменные окружения CGI


Слайд 14
SERVER_NAME - DNS-имя сервера или, при невозможности определить

SERVER_NAME - DNS-имя сервера или, при невозможности определить имя, его IP-адрес.

имя, его IP-адрес.
SERVER_PORT - Номер порта сервера.
SERVER_PROTOCOL -

Имя и версия протокола, через который был сделан запрос (например, HTTP/1.1).
SERVER_SOFTWARE - Тип и номер версии ПО веб-сервера.

Переменные окружения CGI


Слайд 15 Поскольку все HTTP-запросы независимы друг от друга

Поскольку все HTTP-запросы независимы друг от друга и на уровне

и на уровне протокола HTTP отсутствует понятие сеанса связи,

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

Cookies


Слайд 16
cookies - сохранение на компьютере клиента,
скрытые поля

cookies - сохранение на компьютере клиента, скрытые поля - сохранение внутри

- сохранение внутри формы, посылаемой клиенту,
сохранение в файле

какого-либо формата на сервере,
сохранение в параллельно работающей базе данных.

Методы сохранения состояния


Слайд 17
При программировании CGI-скриптов всегда следует помнить,

При программировании CGI-скриптов всегда следует помнить, что при каждом очередном

что при каждом очередном запросе скрипт начинает свою работу

сначала, не имея никакой предыстории взаимодействия пользователя с этим или другими скриптами

Программирование CGI


Слайд 18
my $x;

my $x;   # $x создается, равно undef $x;

# $x создается, равно undef
$x;

# ложно
defined($x); # ложно
$x=0;
$x; # ложно
defined($x); # истинно
$x=5;
$x; # истинно
defined($x); # истинно
$x=undef; # опять undef!

Слайд 19 Списком (list) называется упорядоченная последовательность скалярных

Списком (list) называется упорядоченная последовательность скалярных значений; порядковые номера (индексы)

значений; порядковые номера (индексы) начинаются с нуля. Отдельно стоящие

списки заключаются в скобки:
($x, "abc", 15)

Обращение к элементу списка осуществляется путем указания индекса этого элемента в квадратных скобках:
$y=($x, "abc", 15)[1]; # $y="abc"

Списки и массивы


Слайд 20
if (...) {...};
условие ?

if (...) {...}; условие ? выражение_да : выражение_нет ; while(...)

выражение_да : выражение_нет ;
while(...) {...};
do

{...} while (...);
for (...;...;...;) {...};

if ($a<$b) { $a=$b; }
while ($a<$b) { some_function($a); }
$a=$b if ($a<$b);

Операторы


Слайд 21
$x="abc";
@array=('c','d','e');
%hash=( a

=> "A", b=> "B");
print "this is \$x:

\"$x\"; \nthis is element 2 of \@array: \"$array[2]\";\n",
"and \$hash{a} is \"$hash{a}\"\n";
ВЫВОД:
this is $x: "abc";
this is element 2 of @array: "e";
and $hash{a} is "A"

Слайд 22 Какие действия предпринимает сервер, если для обработки поступившего

Какие действия предпринимает сервер, если для обработки поступившего запроса требуется запуск

запроса требуется запуск CGI-программы?
Почему CGI-программа должна выдавать заголовок “Content-Type:”?
Что

позволяет делать модуль mod_perl?
В чем заключается основная особенность CGI-программи­рования?
В чем состоит проблема сохранения состояния в CGI-программировании и какие существуют способы ее решения? Укажите их достоинства и недостатки.
Почему язык Perl считается наиболее удобным для написания CGI-приложений?

Вопросы для самопроверки:


Слайд 23 Рекомендуемая литература:
Мамаев М., Петренко С. Технологии защиты информации

Рекомендуемая литература:Мамаев М., Петренко С. Технологии защиты информации в Интернете. Специальный

в Интернете. Специальный справочник. – СПб: "Питер", 2005.
UNIX для

системных администраторов: Энциклопедия пользователя/ Пер.с англ. – Киев: ДиаСофт, 2008.
Д.Р.Левин, К.Бароди. Секреты Интернет. – К.: Диалектика, ICE, 2005.
S.Spainbour, V.Quercia. Webmaster in a Nutshell. – O’Reily & Associates, Inc., 2003.

  • Имя файла: cgi-i-veb-programmirovanie.pptx
  • Количество просмотров: 119
  • Количество скачиваний: 0