Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение в СУБД HyTech.doc
Скачиваний:
11
Добавлен:
01.03.2025
Размер:
2.67 Mб
Скачать

6.3 Технология использования php при создании Интернет - приложений

Дается описание основных приемов обработки HTTP-запросов. Рассматривается механизм сессий.

6.3.1 Технология обработки http-запросов с помощью php Методы доступа

Взаимодействие между клиентом и сервером в рассматриваемой нами архитектуре происходит с использованием протокола HTTP (HyperText Transfer Protocol). Браузер инициирует запрос к HTTP-серверу и получает ответ.

Запрос клиента представляет собой символьную строку. Запрос клиента в общем случае содержит:

  • Метод доступа;

  • Адрес запрашиваемого ресурса с параметрами;

  • Тело запроса (информация о клиенте, данные и т.п.);

  • Другую информацию для обработки запроса.

Метод доступа сообщает серверу о характере запроса клиента. В HTTP используется несколько методов доступа. С точки зрения обработки запросов с помощью PHP нам интересны методы доступа GET и POST.

Метод GET предписывает серверу выдать информацию по адресу запрашиваемого ресурса. Для уточнения запрашиваемой информации помимо адреса ресурса передаются параметры, которые доступны серверу. Тело запроса, как таковое, отсутствует – все, что нужно для формирования ответа сервера, содержится в параметрах запроса.

Параметры задаются после адреса запрашиваемого ресурса, параметры начинаются со знака ?. Пример запроса GET:

GET http://127.0.0.1/ex3.php?par1=100&par2=abc;&par3=80

Сервер распознает ex3.php как программу на PHP, которую необходимо вызвать. В качестве параметров в этой программе будут доступны параметры par1, par2 и par3. В запросе эти параметры разделяются &.

Метод POST также предписывает серверу выдать информацию по адресу запрашиваемого ресурса, метод POST, в отличие от GET, передает серверу не параметры, а тело запроса, из которого HTTP-сервер может получить параметры. Тело запроса должно быть, соответственно, оформлено особым образом. POST изначально задумывался как метод передачи серверу значительных объемов данных, но с точки зрения целей запроса POST и GET предназначены для одного и того же, различаются только способы извлечения параметров.

Параметры и переменные

С учетом вышесказанного, современные версии PHP не делают различия между методами получения параметров. В PHP параметры доступны через глобальный массив $_REQUEST (для совместимости с ранними версиями есть еще массивы $HTTP_GET_VARS и $HTTP_POST_VARS, соответственно, первый массив для параметров из GET запроса, второй массив для параметров из POST запроса).

Из клиентского запроса в PHP – скрипте также доступен ряд переменных, например:

  • $REMOTE_ADDR – IP-адрес клиента, отправляющего запрос;

  • $REQUEST_METHOD – метод, который был использован при отправке запроса;

  • $QUERY_STRING – информация, находящаяся в адресе после символа ?;

  • $HTTP_USER_AGENT – информация о браузере клиента.

Имена параметров становятся ключом для элемента массива $_REQUEST.

Например, для запроса:

GET http://127.0.0.1/ex3.php?par1=100&par2=abc;&par3=80

из скрипта ex3.php эти параметры можно получить так:

<?php // выводим на экран параметры запроса echo $_REQUEST[ "par1" ]; echo $_REQUEST[ "par2" ]; echo $_REQUEST[ "par3" ]; ?>