Образовательная программа компании Global Inform. Украина, Харьков
Серверы и клиенты
Еще одной важной концепцией является понимание того, что
структура Internet образуется серверами и клиентами. Сервер - это
компьютер, выполняющий какие-то операции для другого компьютера,
а клиент - это машина, запрашивающая такие действия. Это доста-
точно широкое, но вполне уместное определение, ведь спектр опера-
ций, выполняемых между клиентом и сервером практически неограни-
чен. В отношении клиент/сервер нужно прежде всего учитывать, что
клиенту не важно, как выполнит свою задачу сервер, он желает лишь
получить результат.
Например, клиент может запросить у сервера конкретный файл.
Если этот файл находится на серверном компьютере, то сервер прос-
то считывает файл с диска и передает его клиенту. Однако если
данный файл на сервере отсутствует, но сервер знает, где найти
его, то он находит этот файл и также передает его клиенту. В обо-
их случаях клиент получает то, что ему требовалось - запрошенный
файл. Если сервер не может выполнить данный запрос клиента, то он
должен соответствующим способом информировать об такой ситуации и
желательно, чтобы при этом как то пояснялась причина.
Этот пример описывает лишь простейшее взаимодействие кли-
ент/сервер. Чтобы сервер выполнял поиск в базе данных и генериро-
вал отчет с результатами, может потребоваться более сложное дейс-
твие. Однако в этом случае клиенту также неважно, какая программа
используется на сервере для поиска в базе данных или создания от-
чета и может быть даже и то, где находится база данных. Предполо-
жим, что пользователь компьютера C (клиент) запрашивает в компь-
ютере S (сервер) результаты поиска в базе данных. Компьютеру S
может быть неизвестно как выполнять поиск, но он знает, как зап-
росить поиск в базе данных у компьютера X. Компьютер X ищет нуж-
ные данные с помощью программы A, создает отчет, используя прог-
рамму B, и посылает этот отчет C. Обратите внимание, что сервером
C является S, но S в, свою очередь, будет клиентом для X. Для In-
ternet это весьма типичный случай взаимодействия.
Такие взаимодействия могут выглядеть достаточно запутанно,
но они облегчают получение информации в Internet. Если вы хотите
получить ответ на конкретный вопрос, то вам не важно, находится
ли нужная информация в вашем компьютере или на удаленном, и вряд
ли вы заходите изучать, как нужно искать ее. Чем более мощным и
интеллектуальным будет сервер, с которым вы связаны (или тот сер-
вер, для которого ваш сервер выступает в роли клиента), тем выше
вероятность быстрого получения ответа. При наличии в Internet ты-
сяч интеллектуальных систем поиск ответов значительно облегчает-
ся.