Основы клиент-серверных технологий
Сервер представляет собой набор программ, которые контролируют выполнение различных процессов.
Основная функция компьютера-сервера – по запросу клиента запустить какой-либо определенный процесс и отправить клиенту результаты его работы.
2
Основы клиент-серверных технологий
Клиентом называют любой процесс, который пользуется услугами сервера.
Основная задача клиента – выполнение приложения и осуществление связи с сервером, когда этого требует приложение.
3
Основы клиент-серверных технологий
Взаимодействие между клиентом и сервером начинается по инициативе клиента. Клиент запрашивает вид обслуживания, устанавливает сеанс, получает нужные ему результаты и сообщает об окончании работы.
4
Основы клиент-серверных технологий
Услугами одного сервера чаще всего пользуется несколько клиентов одновременно. Поэтому каждый сервер должен иметь достаточно большую производительность и обеспечивать безопасность данных.
5
Основы клиент-серверных технологий
Существует множество типов серверов. Вот лишь некоторые из них.
Видеосервер Такой сервер специально приспособлен к обработке изображений, хранению видеоматериалов, видеоигр и т.п. В связи с этим компьютер, на котором установлен видеосервер, должен иметь высокую производительность и большую память.
Поисковый сервер предназначен для поиска информации в Internet.
Почтовый сервер предоставляет услуги в ответ на запросы, присланные по электронной почте.
Сервер WWW предназначен для работы в Internet.
Сервер баз данных выполняет обработку запросов к базам данных.
Сервер защиты данных предназначен для обеспечения безопасности данных (содержит, например, средства для идентификации паролей).
Сервер приложений предназначен для выполнения прикладных процессов. С одной стороны взаимодействует с клиентами, получая задания, а с другой – работает с базами данных, подбирая необходимые для обработки данные.
Сервер удаленного доступа обеспечивает коллективный удаленный доступ к данным.
Файловый сервер обеспечивает функционирование распределенных ресурсов, предоставляет услуги поиска, хранения, архивирования данных и возможность одновременного доступа к ним нескольких пользователей.
6
Протокол HTTP и способы передачи данных на сервер
HTTP (HyperText Transfer Protocol, протокол передачи гипертекста ) – это протокол прикладного уровня, разработанный для обмена гипертекстовой информацией в Internet.
7
Протокол HTTP и способы передачи данных на сервер
HTTP предоставляет набор методов для указания целей запроса, отправляемого серверу. Эти методы основаны на дисциплине ссылок, где для указания ресурса, к которому должен быть применен данный метод, используется универсальный идентификатор ресурсов (Universal Resource Identifier) в виде местонахождения ресурса (Universal Resource Locator, URL ) или в виде его универсального имени (Universal Resource Name, URN ).
8
Протокол HTTP и способы передачи данных на сервер
Протокол реализует принцип запрос/ответ. Запрашивающая программа– клиент инициирует взаимодействие с отвечающей программой– сервером, и посылает запрос, содержащий:
метод доступа;
адрес URL;
версию протокола;
сообщение (похожее по форме на MIME) с информацией о типе передаваемых данных, информацией о клиенте, пославшем запрос, и, возможно, с содержательной частью (телом) сообщения.
9
Протокол HTTP и способы передачи данных на сервер
Ответ сервера содержит:
строку состояния, в которую входит версия протокола и код возврата (успех или ошибка);
сообщение (в форме, похожей на MIME), в которое входит информация сервера, метаинформация (т.е. информация о содержании сообщения) и тело сообщения.
10
Протокол HTTP и способы передачи данных на сервер
Простой запрос содержит метод доступа и адрес ресурса. Формально это можно записать так:
<Простой-Запрос> := <Метод> <символ пробел> <Запрашиваемый-URL> <символ новой строки>
Пример простого запроса:
GET http://phpbook.info/Здесь GET – это метод доступа, т.е. метод, который должен быть применен к запрашиваемому ресурсу, а http://phpbook.info/ – это URL -адрес запрашиваемого ресурса.
11
Протокол HTTP и способы передачи данных на сервер
Полный запрос содержит строку состояния, несколько заголовков (заголовок запроса, общий заголовок или заголовок содержания) и, возможно, тело запроса. Формально общий вид полного запроса можно записать так:
<Полный запрос> := <Строка Состояния> (<Общий заголовок>|<Заголовок запроса>| <Заголовок содержания>) <символ новой строки> [<содержание запроса>]
12
методы отправки запросов
Метод GET позволяет получить любые данные, идентифицированные с помощью URL в запросе ресурса.
Метод HEAD аналогичен методу GET , только не возвращает тело ресурса и не имеет условного аналога. Метод HEAD используют для получения информации о ресурсе. Это может пригодиться, например, при решении задачи тестирования гипертекстовых ссылок.
Метод POST разработан для передачи на сервер такой информации, как аннотации ресурсов, новостные и почтовые сообщения, данные для добавления в базу данных, т.е. для передачи информации большого объема и достаточно важной.
14
Использование HTML-форм для передачи данных на сервер
Для метода GET
15
Использование HTML-форм для передачи данных на сервер
Для метода POST
16
Использование HTML-форм для передачи данных на сервер
некоторые из переменных окружения:
REMOTE_ADDR – IP-адрес хоста (компьютера), отправляющего запрос;
REMOTE_HOST – имя хоста, с которого отправлен запрос;
HTTP_REFERER – адрес страницы, ссылающейся на текущий скрипт;
REQUEST_METHOD – метод, который был использован при отправке запроса;
QUERY_STRING – информация, находящаяся в URL после знака вопроса;
SCRIPT_NAME – виртуальный путь к программе, которая должна выполняться;
HTTP_USER_AGENT – информация о браузере, который использует клиент
17
Использование HTML-форм для передачи данных на сервер
Пример Допустим, мы создали форму для регистрации участников заочной школы программирования, как в приведенном выше примере. Тогда в файле 1.php, обрабатывающем эту форму, можно написать следующее:
";$str .="Вы выбрали для изучения курс по ".$_REQUEST["kurs"];echo $str;?>
18
Использование HTML-форм для передачи данных на сервер
Тогда, если в форму мы ввели имя "Вася", фамилию "Петров" и выбрали среди всех курсов курс по PHP, на экране браузера получим такое сообщение:
Здравствуйте, Вася Петров!
Вы выбрали для изучения курс по PHP
19
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.