Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции Косьмин.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.69 Mб
Скачать

Тема: общий шлюзовый интерфейс

1 Вопрос. Механизм работы динамических документов

Динамику веб-документам придают сценарии PHP кода. Исходный код док-та хранится в виде html – страниц с вставками PHP-сценариев.

2 Вопрос. Общий шлюзовый интерфейс - cgi

ОБЩИЙ ШЛЮЗОВЫЙ ИНТЕРФЕЙС -это набор правил и соглашений, которые должны выполняться разными веб-серверами при исполнении приложений.

ОШИ мощный механизм формирования динамических гипермедиа-документов. Навигатор анализирую адресную строку вычисляет протокол, если это http:// он актуализирует роль веб-сервера. Логическое имя сервера анализируется DNS сервером сети, сервер возвращает физический IP адрес узла в котором находится веб-сервер.

По IP адресу навигатор подключается к узлу активируя по протоколу роль веб-сервера и запрашивает гипермедиа-документ ч\з порт указанный явно или по умолчанию.

Если гипермедиа-документ не найден, то сервер выдает навигатору сообщение об ошибке.

Всего определено 5 категорий кодов ошибок. Каждая из категорий содержит 100 кодов возврата.

Диапазон 100-199 наз информационными – они информируют о запросе.

Коды диапазона 200-299 наз диапазоном «успеха» - они информируют об удачном завершении операции.

Код 200 говорит о нормальном завершении операции.

Коды диапазона 300-399 явл кодами перенаправления.

Кода диапазона 400-499 явл ошибками клиента или ошибками автомата на вашей стороне работающего (т.е навигатора). 400-415 можно расценивать как код 404 (удаленный доступ).

Если в сценарии есть ошибки, то интерпретирующий транслятор PHP сообщит клиенту об ошибке как нормальный ответ. Если документ найден веб-сервер статическую часть кода (HTML) передает навигатору без изменений, интерпретация производится на рабочей станции сети. PHP-сценарий образует динамическую часть гипермедиа-документа формируемую на лету. Они передаются навигатору интерпретирующим транслятором. Кол-во PHP -сценариев на странице не ограничено. Т.о. в окне навигатора формируется динамический гипермедиа-документ.

3 Вопрос. Механизм исполнения сценария общим шлюзовым интерфейсом

PHP –сценарий явл программой которая формирует выходной поток данных. Как любая программа PHP –сценарий может принимать параметры указанные в командной строке навигатора.

Общий порядок работы сценария:

  1. получить данные переданные пользователям

  2. обработать полученные данные

  3. вывести ре-т

  4. завершить работу

параметры передаются в сцнарий в формате:

<Имя параметра>= <Значение параметра>

Параметры представляют собой список. Разделителем в списке явл амперсант.

Метод передачи параметров определяет механизм. Известна два метода передачи параметров PHP –сценариев:

  • GET –взять (гет)

  • POST –отправить (пост)

Все параметры отображаемые в командной строке реализуют метод GET. Если параметры не видны в командной строке, то такой метод наз методом POST.

4 Вопрос. Метод get

Взаимодействие веб -сервера и навигатора происходит в форме запросов и ответов. Приняв содержимое адресной строки навигатор:

1) выделяет из нее имя сервера и порт

2) устанавливает соединение с сервером и навигатор посылает запрос серверу

Запрос строится:

GET…адресная строка…HTTP/1.0

…………………………………….……

-маркер окончания запроса. Если его нет то запрос считается бесконечным. бесконечные запросы не обрабатываются и считаются ошибкой.

- переход на новую строку

GET запросы организует навигатор.

GET заголовки могут использовать переменные окружения общего шлюзового интерфейса.

Переменное окружение подразделяется на группы:

  • Переменные формируемые веб -сервером

  • Специальные Переменные веб -сервера

  • Переменные полей запроса протокола HTTP

  • Переменные защищенного соединения SSL

Имена переменных окружения должны окружать след ПРАВИЛАМ их формирования:

  1. все символы переводятся в верхний регистр

  2. в начале имени добавляется прификс HTTP_ дальше имя переменной

  3. дефис заменяется символом подчеркивания - оно автоматически выполняется.

  4. Если в адресной строке GET-запроса имеются параметры, то интерпретирующий транслятор PHP автоматически создает переменные с именами передаваемых параметров. Обращаться к сценарию внутри сценариев к таким переменным за их значением можно, указав символ доллар перед именем переменной.