“Введение в информационные технологии”

advertisement
«Введение в информационные технологии»
Семинар №7
Тема: «Web программирование (CGI)»
План занятия
Интерфейс CGI для вызова сценария на стороне сервера
1.
2.
3.
4.
5.
6.
CGI – Common Gateway Interface
HTTP сервер (Apache, IIS)
Вызов приложения на стороне сервера через интерфейс CGI
Передача параметров шлюзу CGI
Метод GET (строка браузера)
Метод POST (html-форма)
Выполнение CGI приложения
1. Директории public_html и cgi-bin, именование скриптов (.cgi)
2. Основные переменные окружения:
REQUEST_METHOD
QUERY_STRING
CONTENT_LENGTH
CONTENT_TYPE
REMOTE_ADDR
SCRIPT_NAME
SCRIPT_FILENAME
HTTP_USER_AGENT
3. Ответ сервера “Content-type” и “charset”
4. Стандартные потоки ввода и вывода
Языки программирования и CGI
1. Командный процессор Bash
#!/bin/sh
echo 'Content-type: text/plain; charset=koi8-r'
echo
echo Hello
2. Язык сценариев Perl
#!/usr/bin/perl
print "Content-type: text/plain\n";
print "\n";
print "Hello";
3. Гипертекстовый процессор PHP
<html><head><title>Hello Page</title></head>
<? echo Hello; ?>
<html>
HTML форма для передачи данных серверу
1. Синтаксис
<FORM ACTION="url" METHOD="POST | GET">
1
<INPUT | SELECT | TEXTAREA>
</FORM>
2. Атрибуты ACTION и METHOD
3. Поля формы. Поле ввода <input>
Задания
1. Написать CGI-скрипт hello.cgi на встроенном языке процессора Bash. Скрипт
должен печатать приветствие ‘Привет’ на русском языке и быть доступен по
адресу http://ccfit.nsu.ru/~USER/cgi-bin/hello.cgi (где USER - зарегистрированное
имя пользователя).
2. Написать аналогичный скрипт приветствия hello-pl.cgi на языке Perl
3. Создать страницу google.html. Данная страница должна содержать форму
<form…>…</form> для отправки строки запроса в поисковую систему Google и
быть доступна по адресу http://ccfit.nsu.ru/~USER/google.html
4. На встроенном языке процессора Bash написать скрипт request.cgi для вывода
информации о запросе. Скрипт должен распечатывать все возможные переменные
окружения (см. п. 2.2) и быть доступен по адресу http://ccfit.nsu.ru/~USER/cgibin/form.cgi Пример работы скрипта показан ниже на рисунке
5. Добавить возможность передачи имени для приветствия CGI-скрипту hello.cgi.
Имя передавать через параметр name, например: http://ccfit.nsu.ru/~USER/cgibin/hello.cgi?name=vasja
6. Все задания должны быть запакованы в архив seminar8.tgz и высланы
преподавателю
2
Download