Образовательная программа компании Global Inform. Украина, Харьков



                                    Серверы и клиенты

                                                                        



            Еще одной важной концепцией  является  понимание  того,  что

       структура Internet образуется серверами и клиентами. Сервер - это

       компьютер,  выполняющий какие-то операции для другого компьютера,

       а клиент - это машина,  запрашивающая такие действия.  Это доста-

       точно широкое, но вполне уместное определение, ведь спектр опера-

       ций,  выполняемых между клиентом и сервером практически неограни-

       чен.  В отношении клиент/сервер нужно прежде всего учитывать, что

       клиенту не важно, как выполнит свою задачу сервер, он желает лишь

       получить результат.



            Например, клиент может запросить у сервера конкретный  файл.

       Если этот файл находится на серверном компьютере, то сервер прос-

       то считывает файл с диска и передает  его  клиенту.  Однако  если

       данный  файл на сервере отсутствует,  но сервер знает,  где найти

       его, то он находит этот файл и также передает его клиенту. В обо-

       их случаях клиент получает то,  что ему требовалось - запрошенный

       файл. Если сервер не может выполнить данный запрос клиента, то он

       должен соответствующим способом информировать об такой ситуации и

       желательно, чтобы при этом как то пояснялась причина.



            Этот пример описывает лишь  простейшее  взаимодействие  кли-

       ент/сервер. Чтобы сервер выполнял поиск в базе данных и генериро-

       вал отчет с результатами, может потребоваться более сложное дейс-

       твие. Однако в этом случае клиенту также неважно, какая программа

       используется на сервере для поиска в базе данных или создания от-

       чета и может быть даже и то, где находится база данных. Предполо-

       жим,  что пользователь компьютера C (клиент) запрашивает в компь-

       ютере  S  (сервер) результаты поиска в базе данных.  Компьютеру S

       может быть неизвестно как выполнять поиск,  но он знает, как зап-

       росить поиск в базе данных у компьютера X.  Компьютер X ищет нуж-

       ные данные с помощью программы A,  создает отчет, используя прог-

       рамму B, и посылает этот отчет C. Обратите внимание, что сервером

       C является S, но S в, свою очередь, будет клиентом для X. Для In-

       ternet это весьма типичный случай взаимодействия.



            Такие взаимодействия  могут  выглядеть достаточно запутанно,

       но они облегчают получение информации в Internet.  Если вы хотите

       получить ответ на конкретный вопрос,  то вам не важно,  находится

       ли нужная информация в вашем компьютере или на удаленном,  и вряд

       ли вы заходите изучать,  как нужно искать ее.  Чем более мощным и

       интеллектуальным будет сервер, с которым вы связаны (или тот сер-

       вер,  для которого ваш сервер выступает в роли клиента), тем выше

       вероятность быстрого получения ответа. При наличии в Internet ты-

       сяч  интеллектуальных систем поиск ответов значительно облегчает-

       ся.