Физический уровень модели OSI. Первый уровень: нижний уровень или фундамент передачи данных?
Привет, посетитель сайта ZametkiNaPolyah.ru! Продолжаем рубрику Сервера и протоколы. Недавно я обновил на своем блоге публикацию…
Привет, посетитель сайта ZametkiNaPolyah.ru! Продолжаем рубрику Сервера и протоколы. Также я решил, что на моем блоге просто необходима рубрика Вопрос-ответ, в которой будет два раздела: «Что такое?» и «Как сделать?». Большинство публикаций на моем блоге довольно большие и подробные, но в этих разделах я буду стараться ответить на один простой вопрос коротко, понятно и с примерами. Грубо говоря, каждая запись — это ответ на вопрос, который задает новичок в сфере web.
В этой записи мы разберемся со значением термина клиент и поговорим о том, что такое клиентский компьютер и клиентское приложение. Надеюсь, что данная рубрика окажется действительно полезной и нужной для новичков.
Содержание статьи:
Мой блог имеет достаточно узкую тематику, но давайте сперва разберемся с термином клиент и посмотрим, что это слово означает. Как не банально, но клиент – это заказчик той или иной услуги или покупатель. Неважно где и что вы покупаете, например, вы покупаете доменное имя и становитесь клиентом регистратора или вы покупаете хостинг, тогда вы становитесь клиентом хостинг-провайдера. Покупая хлеб в магазине, вы становитесь клиентом магазина.
Вообще, термин клиент пришел к нам из Древнего Рима, в исконном значении слова клиент – это свободный гражданин Римской Империи, который находится в зависимости от патрона (знатного гражданина), но в то же время клиент пользуется покровительством и защитой патрона.
Если говорить про информатику, то клиент – это программное средство или физическое устройство, которое посылает запросы серверу (поставщику услуг)
В принципе, для описания термина клиентский компьютер нам подойдут оба определения, представленных выше. Если говорить про сеть Интернет, то ваше устройство, с помощью которого вы зашли на мой сайт – это клиентский компьютер, вы искали информацию и нашли ее на моем блоге, соответственно, вы искали того, кто удовлетворит вашу потребность в информации.
Если говорить про локальную сеть или, как частный случай, корпоративную сеть, то клиентский компьютер – это маломощный компьютер, который пользуется вычислительными мощностями сервера при необходимости выполнения той или иной операции. В общем, клиентский компьютер – это машина, которая пользуется услугами.
С клиентскими программами все несколько сложнее, чем с клиентскими компьютерами. Типичным примером клиентского приложения является браузер, с помощью которого вы заходите на сайты. Во-первых, вам нужно понимать архитектуру взаимодействия клиент-сервер. Во-вторых, вам нужно знать, что и клиентские программы, и серверные могут взаимодействовать на одном и том же компьютере.
В общем случае клиентское приложение – это приложение, отправляющее запросы серверу с целью получения той или иной информации. Термин клиент в области IT чаще всего применяется именно к приложениям. Если говорить о сфере веб, то мы уже упоминали о браузерах, которые отправляют серверу специальные HTTP сообщения, которые получили название HTTP запрос, серверы в свою очередь отправляют клиенту сообщения, которые называются HTTP ответы.
Запросы клиента содержат специальные HTTP методы, которые позволяют указать серверу на то, как он должен обрабатывать запрос (некоторые запросы позволяют получить информацию с сервера, некоторые удалить информацию, а некоторые записать, всё зависит от метода). HTTP сервер, отправляя ответ, сообщает клиенту о том, как он понял запрос при помощи специальных кодов состояния.
Если говорить про MySQL сервер, то у него есть клиент, который позволяет выполнять SQL запросы к базе данных из командой строки (это специальное приложение), а также есть клиент с графическим интерфейсом, который позволяет управлять базами данных при помощи мышки. В качестве сервера, к которому делают запросы браузеры, можно привести пример сервера Apache. Если же вас интересуют готовые сборки серверов для веб-разработки, то можно порекомендовать: локальный веб-сервер AMPPS и российскую сборку Denwer.
Подведем итоги: клиентское приложение – это программа, которая позволяет человеку взаимодействовать с сервером и получать требуемые услуги.
У вас правильное замечание о том, что «в природе» нет четко деления на только клиент или только сервер, если говорить про клиентские и серверные компьютеры. А вотв приложениях это деление явно прослеживается. Одно приложение выполняет клиентские функции, например, агент пользователя, другое приложение выполняет сервернын задачи, например, всеми нами любимый сервер Apache.
Вообще здесь тонкая грань и не нужно бросаться из крайности в крайности. Хотя, например, когда речь идет про огромные вычислительные системы и большие нагрузки целесообразно выделять отдельные мощности под клиентские задачи и отдельные ресурсы под сервера.
Здравствуйте.
Очень полезная и интересная статья!
Спасибо Вам за эту информацию