Сеть клиент-сервер — это парадигма, которая чаще всего используется в сетях во всем мире. Как видно из названия, определение сети клиент-сервер таково, что одна из участвующих сторон действует как клиент, а другая — как сервер.
Например, в этот самый момент ваш компьютер действует как клиент, запрашивающий эту веб-страницу с сервера MakeUseOf, который затем с радостью отвечает запрашиваемой страницей. Затем клиент получает страницу и показывает ее вам, что позволяет вам прочитать эту замечательную статью!
Это суть этого. Если вам когда-либо приходилось объяснять себе или кому-либо еще, что такое сеть клиент-сервер или вычисления клиент-сервер, объяснения с помощью приведенного выше примера будет достаточно. Однако, если вы заинтересованы в более глубоком погружении в определение сети клиент-сервер, вы можете следовать им.
Как работают клиенты Серверы общаться?
В приведенном выше примере я упоминал, что «ваш компьютер запрашивает сервер MakeUseOf для веб-страницы». Вы можете спросить, как это происходит? Они общаются на английском, немецком или французском? На самом деле ни один из тех. Нет единого языка общения. Клиенты и серверы используют специальные сообщения, которые соответствуют общему протоколу для связи друг с другом.
Протокол и формат сообщения должны быть согласованы заранее, иначе не будет никакой связи. Например, «http: //», который вы вводите в адресную строку вашего браузера, указывает, что вы используете HTTP или HyperText Transfer Protocol для связи с сервером. На изображении выше показан пример HTTP-запроса, когда я хотел перейти в Google India.
Портов Серверы
Хорошо, теперь вы знаете, что ваш компьютер может говорить по HTTP. Значит ли это, что все общение через Интернет использует HTTP? Или как мой компьютер узнает, когда использовать какой протокол? На эти вопросы я попытаюсь ответить в этом разделе. Прежде всего, позвольте мне прояснить некоторые вещи — до сих пор я представил 10 000-футовую картину всей сетевой парадигмы клиент-сервер, в которой компьютеры действовали либо как клиент, либо как сервер.
Пришло время для увеличения и детального просмотра. Возвращаясь к примеру с веб-страницей, на самом деле именно ваш веб-браузер выступает в роли истинного клиента. Поскольку вы можете запускать несколько приложений вместе на своем компьютере, ваш компьютер может фактически действовать как клиент для нескольких серверов или подготовиться к этому — с соответствующим программным обеспечением он может действовать как клиент а также сервер также.
Все еще смущены этим определением клиент-серверной сети? Позвольте мне уточнить. Допустим, у вас есть Google Chrome и FileZilla (FTP-клиент, FTP — это другой протокол), теперь ваш компьютер может подключаться к веб-серверу, используя HTTP и FTP-сервер, таким образом, выступая в качестве клиента и запрашивая контент с двух серверов. Аналогичным образом установите соответствующее программное обеспечение, и вы сможете общаться с любым видом сервера. Реализация протокола все запрограммирована в этих приложениях.
Теперь, если вы параллельно устанавливаете на свой компьютер что-то вроде IIS или Apache, тогда ваш компьютер может выступать в роли сервера для других клиентов и обслуживать запросы на веб-страницы (IIS и Apache являются программным обеспечением веб-сервера). На самом деле вы можете попробовать «http: // localhost» в своем веб-браузере, и он подключится к программному обеспечению веб-сервера, установленному на вашем компьютере, для отображения веб-страницы.
Вы даже можете установить несколько программ на вашем компьютере. Так, например, один компьютер может использоваться в качестве веб-сервера для обслуживания веб-страниц и в качестве FTP-сервера для передачи файлов. Серверное программное обеспечение по сути слушает так называемые порты на вашем компьютере. Всякий раз, когда запрос поступает на назначенный порт, соответствующий сервер выполняет действие и отвечает. Например, Apache прослушивает порт 80, и браузеры по умолчанию знают, что нужно отправлять запросы на порт 80. Поэтому, когда бы ни поступал запрос на порт 80, Apache отвечал бы ответом с веб-страницей.
Таким образом, чтобы подвести итог всего этого, программное обеспечение на вашем компьютере использует аппаратное обеспечение вашего компьютера, чтобы инициировать запрос в определенном формате. Этот запрос затем передается по сети на соответствующий сервер (с использованием IP-адресов), который затем использует установленное серверное программное обеспечение для некоторой обработки и отвечает результатами.
Вопросы?