Client server: Клиент-сервер — Изучение веб-разработки | MDN
Содержание
Клиент-серверная архитектура | Введение в интернет
Приложениями и сайтами одновременно могут пользоваться сотни и даже миллионы человек. Все они обращаются к одному компьютеру, который должен уметь обрабатывать запросы и присылать ответы. Такой подход называется клиент-серверной архитектурой. Она описывает, как происходит работа с пользователями, где хранятся данные и как обеспечивается их защита.
В клиент-серверной архитектуре используется три компонента:
Клиент — программа, которую мы используем в интернете. Чаще всего это браузер, но может быть и другая отдельная программа
Сервер — компьютер, на котором хранится сайт или приложение. Когда мы заходим на сайт магазина, мы обращаемся к серверу, на котором находится сайт
База данных — программа, в которой хранятся все данные приложения. Для магазина это будет база клиентов, товаров и заказов
Разберем подробнее особенности каждого компонента клиент-серверной архитектуры и их взаимодействие друг с другом.
Особенности клиента
Клиент — это всегда программа. Ее назначение — дать пользователю удобный способ взаимодействия с сервером.
С точки зрения сервера, выбрать товар — это послать запрос на специальном языке запросов, например SQL. Но для простого пользователя это сложно. Поэтому клиент дает удобный способ взаимодействия, чтобы не писать код своими руками.
В следующих уроках мы познакомимся с работой сайтов и узнаем, что зайти на сайт — это не просто ввести его адрес в браузер. За этим действием скрываются специальные запросы, ответы и их расшифровка. Для пользователя — это лишнее, и клиент в виде браузера делает эту работу за нас.
Особенности сервера
Сервер — компьютер, такой же как у нас, только намного мощнее. Основная задача сервера — бесперебойная работа и возможность обрабатывать миллионы запросов от пользователей.
Сервер позволяет не дублировать приложения. Без них для заказа продуктов пришлось бы скачать весь сайт к себе на компьютер, выбрать товары, записать их и отправить на компьютер магазина. Так как сайт находится на сервере, то тысячи человек могут обращаться к одному серверу и получать от него нужную информацию.
Если сервер выполняет функции приложения и базы данных, то такая архитектура называется двухуровневой. Такой подход используют для небольших приложений, где нет большого количества клиентов. Хоть такой способ и проще, но его надежность небольшая. Если сервер взломают, то злоумышленники получат все данные.
Чтобы решить проблему безопасности в клиент-серверной архитектуре, используют базу данных. Она хранится отдельно от сервера. Сервер в этом случае выполняет роль логической машины, которая обрабатывает данные, но не хранит их.
Особенности базы данных
В клиент-серверной архитектуре сервер — это не только компьютер, на котором находится приложение или сайт. Еще это база, где хранятся все данные приложения. У клиентов нет прямого доступа к базе данных, так как это нарушило бы их приватность. Например, частность личной информации других пользователей в социальных сетях.
Клиенты запрашивают информацию у сервера. Если сервер считает, что у клиента есть права на получение информации, то он ее предоставляет. Благодаря этому мы не можем пользоваться учетными записями своих друзей в социальных сетях или получать информацию о банковских переводах незнакомых нам людей.
При такой схеме работы архитектура называется трехуровневой, так как состоит из трех компонентов.
Как и у любого решения, у клиент-сервера есть плюсы и минусы. Разберем частые случаи.
Client-server
Февраль 2023
- Development
Вопрос про клиент и сервер с аутентификацией по kerberos
(12 комментариев)
Апрель 2022
- Development
Муки выбора. Заказчик просит вкорячить промежуточный сервер
(19 комментариев)
2020
- General
Торрент клиент с удалённым доступом и многопользовательским доступом
(12 комментариев)
2019
- Admin
Клиент-серверный вариант OpenVPN
(7 комментариев)
2018
- Admin
pptpd — впн клиенты не видят друг друга
(3 комментария) - General
Здравствуйте. Не могу разобраться с openwrt.
(4 комментария) - General
Openvpn нет ping-ов
(11 комментариев)
2017
- Development
Клиент-сервер (консольный чат) на сокетах
(59 комментариев) - General
Файловая система NFS периодически зависает
(4 комментария)
2016
- Development
Протокол для мониторинга
(8 комментариев) - Development
Обмен посылками
(5 комментариев) - Development
Каким образом происходит подключение клиента к серверу?
(8 комментариев) - Admin
клиент-серверная архитектура и netcat
(2 комментария) - Development
Хочу написать вэб-приложение
(157 комментариев) - Desktop
Client-Side Decorations vs Server-Side Decoration: в чём преимущества тех и других?
(75 комментариев)
2015
- Development
FIFO или localhost?
(25 комментариев) - Development
передача списка процессов сервера клиенту
(8 комментариев) - Admin
пропускать весь траффик через openvpn client tun
(13 комментариев) - Development
Архитерктура клиент-сервер. Отдача данных по запросу от приложения.
(3 комментария) - General
Как заставить работать серверное приложение в VirtualBox?
(11 комментариев)
Архитектура клиент-сервер | Определение, характеристики и преимущества
- Развлечения и поп-культура
- География и путешествия
- Здоровье и медицина
- Образ жизни и социальные вопросы
- Литература
- Философия и религия
- Политика, право и правительство
- Наука
- Спорт и отдых
- Технология
- Изобразительное искусство
- Всемирная история
- Этот день в истории
- Викторины
- Подкасты
- Словарь
- Биографии
- Резюме
- Популярные вопросы
- Обзор недели
- Инфографика
- Демистификация
- Списки
- #WTFact
- Товарищи
- Галереи изображений
- Прожектор
- Форум
- Один хороший факт
- Развлечения и поп-культура
- География и путешествия
- Здоровье и медицина
- Образ жизни и социальные вопросы
- Литература
- Философия и религия
- Политика, право и правительство
- Наука
- Спорт и отдых
- Технология
- Изобразительное искусство
- Всемирная история
- Britannica объясняет
В этих видеороликах Britannica объясняет различные темы и отвечает на часто задаваемые вопросы. - Britannica Classics
Посмотрите эти ретро-видео из архивов Encyclopedia Britannica. - #WTFact Видео
В #WTFact Britannica делится некоторыми из самых странных фактов, которые мы можем найти. - На этот раз в истории
В этих видеороликах узнайте, что произошло в этом месяце (или любом другом месяце!) в истории. - Demystified Videos
В Demystified у Britannica есть все ответы на ваши животрепещущие вопросы.
- Студенческий портал
Britannica — это главный ресурс для учащихся по ключевым школьным предметам, таким как история, государственное управление, литература и т. д. - Портал COVID-19
Хотя этот глобальный кризис в области здравоохранения продолжает развиваться, может быть полезно обратиться к прошлым пандемиям, чтобы лучше понять, как реагировать сегодня. - 100 женщин
Britannica празднует столетие Девятнадцатой поправки, выделяя суфражисток и политиков, творящих историю. - Britannica Beyond
Мы создали новое место, где вопросы находятся в центре обучения. Вперед, продолжать. Просить. Мы не будем возражать. - Спасение Земли
Британника представляет список дел Земли на 21 век. Узнайте об основных экологических проблемах, стоящих перед нашей планетой, и о том, что с ними можно сделать! - SpaceNext50
Britannica представляет SpaceNext50. От полёта на Луну до управления космосом — мы исследуем широкий спектр тем, которые подпитывают наше любопытство к космосу!
Содержание
Введение
Краткие факты
Связанный контент
Читать Далее
Кто изобрел Интернет?
Что такое архитектура клиент-сервер?
Обновлено 17. 03.23
776 просмотров
В этом блоге вы найдете следующую тему –
- Что такое архитектура клиент-сервер?
- Пример архитектуры клиент-сервер
- Компоненты архитектуры клиент-сервер
- Как работает архитектура клиент-сервер?
- Types of client server architecture
- 1-tier architecture
- 2-tier architecture
- 3-tier architecture
- N-tier architecture
- Разница между одноранговой сетью и архитектурой клиент-сервер
- Преимущества и недостатки архитектуры клиент-сервер
- Заключение
Что такое архитектура клиент-сервер?
Прежде чем мы объясним архитектуру клиент-сервер, и вы начнете читать такие слова, как серверы, служба, сеть, данные и файлы, и начнете чувствовать себя перегруженным жаргоном, давайте сначала разберемся в этой архитектуре с точки зрения непрофессионала.
Понятие клиент-серверной архитектуры можно понять по аналогии с заказом пиццы на доставку. Вы звоните в магазин, чтобы заказать пиццу, и кто-то берет трубку, принимает ваш заказ, а затем доставляет его. Просто, верно? Да, эта аналогия в значительной степени отвечает фундаментальному принципу клиент-серверной архитектуры.
Проще говоря, задействованы два фактора:
- Сервер — это тот, кто предоставляет запрошенные услуги.
- Клиенты — это те, кто запрашивает услуги.
Архитектура клиент-сервер — это вычислительная модель, в которой сервер размещает, доставляет и управляет большей частью ресурсов и услуг, запрошенных клиентом. Она также известна как модель сетевых вычислений или сеть клиент-сервер, поскольку все запросы и услуги доставляются по сети. В архитектуре или модели клиент-сервер есть другие системы, подключенные к сети, где ресурсы совместно используются разными компьютерами.
Как правило, клиент-серверная архитектура организована таким образом, что клиенты часто располагаются на рабочих станциях или персональных компьютерах, а серверы размещаются в других местах сети, обычно на более мощных машинах. Такая модель особенно полезна, когда клиенты и сервер выполняют рутинные задачи. Например, при обработке больничных данных клиентский компьютер может быть занят выполнением прикладной программы для ввода информации о пациенте, в то время как на серверном компьютере может выполняться другая программа для извлечения и управления базой данных, в которой постоянно хранится информация.
Хотите узнать больше о кибербезопасности. Ознакомьтесь с нашим руководством по кибербезопасности на Intellipaat!
Получите 100% повышение!
Осваивайте самые востребованные навыки прямо сейчас!
Пример архитектуры клиент-сервер
Вот несколько примеров архитектуры модели клиент-сервер из нашей повседневной жизни. Надеюсь, это поможет вам лучше понять концепцию.
Почтовые серверы
Серверы электронной почты используются для отправки и получения электронной почты. Существуют различные программы, которые позволяют обрабатывать электронную почту.
Файловые серверы
Файловые серверы действуют как централизованное хранилище файлов. Одним из примеров из повседневной жизни, позволяющим понять это, являются файлы, которые мы храним в Документах Google. Доступ к облачным сервисам для Microsoft Office и Google Docs возможен с ваших устройств; файлы, которые вы сохраняете на своем компьютере, могут быть доступны с вашего телефона. Таким образом, централизованно хранящиеся файлы могут быть доступны нескольким пользователям.
Веб-серверы
Веб-серверы — это высокопроизводительные компьютеры, на которых размещены различные веб-сайты. Данные сайта сервера запрашиваются клиентом через высокоскоростной интернет.
Ознакомьтесь с нашим учебным пособием по кибербезопасности на YouTube, чтобы получить более глубокие знания:
youtube.com/embed/i4Uk7D_csLg» frameborder=»0″ allowfullscreen=»»/>
Компоненты клиент-серверной архитектуры:
По сути, для работы клиент-серверной архитектуры необходимы три компонента. Тремя компонентами являются рабочие станции, серверы и сетевые устройства. Давайте теперь обсудим их подробно:
Рабочие станции
Рабочие станции также называются клиентскими компьютерами. Рабочие станции работают как подчиненные серверам и отправляют им запросы на доступ к общим файлам и базам данных. Сервер запрашивает информацию с рабочей станции и выполняет несколько функций в качестве центрального хранилища файлов, программ, баз данных и политик управления. Рабочие станции управляются политиками, определяемыми сервером.
Серверы
Серверы определяются как быстродействующие устройства, которые действуют как централизованные хранилища сетевых файлов, программ, баз данных и политик. Серверы имеют огромное пространство для хранения и надежную память для обработки нескольких запросов, поступающих одновременно с разных рабочих станций. Серверы могут одновременно выполнять множество ролей, таких как почтовый сервер, сервер базы данных, файловый сервер и контроллер домена в архитектуре клиент-сервер.
Сетевые устройства
Теперь, когда мы знаем о ролях, которые играют рабочие станции и серверы, давайте узнаем, что их связывает, сетевые устройства. Сетевые устройства — это среда, которая соединяет рабочие станции и серверы в архитектуре клиент-сервер. Многие сетевые устройства используются для выполнения различных операций в сети. Например, хаб используется для подключения сервера к различным рабочим станциям. Повторители используются для эффективной передачи данных между двумя устройствами. Мосты используются для изоляции сегментации сети.
Также узнайте разницу между архитектурой клиент-сервер и одноранговой сетью из нашего блога.
Как работает архитектура клиент-сервер?
До сих пор мы понимали, что архитектура клиент-сервер состоит из двух элементов, один из которых предоставляет службы, а другой потребляет эти службы.
Чтобы получить более четкое представление о процессе, давайте узнаем, как браузер взаимодействует с сервером.
Пожалуйста, прочитайте следующие шаги для лучшего понимания процесса:
- Пользователь вводит унифицированный указатель ресурсов (URL) веб-сайта или файла, и браузер отправляет запрос на сервер системы доменных имен (DNS).
- DNS-сервер ищет адрес веб-сервера, и DNS-сервер отвечает IP-адресом веб-сервера.
- После ответа DNS-сервера браузер отправляет HTTP- или HTTPS-запрос на IP-адрес веб-сервера, предоставленный DNS-сервером.
- Затем сервер отправляет необходимые файлы веб-сайта.
- Наконец, браузер отображает файлы и отображает веб-сайт.
Чтобы получить глубокие знания о сети, пройдите сертификацию Intellipaat Cyber Security Certification , чтобы изучить основные понятия сети, сетевой инфраструктуры, операций и многое другое!
Типы клиент-серверной архитектуры
Функциональность архитектуры клиент-сервер находится на разных уровнях.
Одноуровневая архитектура
В этой категории клиент-серверной архитектуры архитектура содержит все виды настроек, такие как настройка конфигурации и маркетинговая логика, на одном устройстве. Хотя разнообразие услуг, предлагаемых одноуровневой архитектурой, делает ее одним из надежных источников, работать с такой архитектурой сложно. В первую очередь это связано с разбросом данных. Часто это приводит к дублированию работы. Одноуровневая архитектура состоит из нескольких уровней, таких как уровень представления, бизнес-уровень и уровень данных, которые объединены с помощью уникального программного пакета. Данные, представленные на этом уровне, обычно хранятся в локальных системах или на общем диске.
Двухуровневая архитектура
Эта архитектура имеет наилучшие условия. В этой архитектуре пользовательский интерфейс хранится на стороне клиента, а база данных хранится на сервере, а логика базы данных и бизнес-логика поддерживаются либо на стороне клиента, либо на стороне сервера.
Двухуровневая архитектура быстрее по сравнению с одноуровневой архитектурой; это связано с тем, что в двухуровневой архитектуре нет посредника между клиентом и сервером. Это часто используется, чтобы избежать путаницы между клиентами. Одним из популярных примеров двухуровневой архитектуры является система онлайн-бронирования билетов.
Карьерный переход
Трехуровневая архитектура
В отличие от двухуровневой архитектуры, в которой нет посредника, в трехуровневой клиент-серверной архитектуре между клиентом и сервером находится промежуточное программное обеспечение. Если клиент отправляет запрос на получение определенной информации с сервера, запрос сначала будет получен промежуточным программным обеспечением. Затем он будет отправлен на сервер для дальнейших действий. Тот же шаблон будет применяться, когда сервер отправляет ответ клиенту. Структура трехуровневой архитектуры подразделяется на три основных уровня: уровень представления, уровень приложений и уровень базы данных.
Все три слоя контролируются с разных концов. В то время как уровень представления управляется на клиентском устройстве, промежуточное ПО и сервер управляют уровнем приложения и уровнем базы данных соответственно. Благодаря наличию третьего уровня, обеспечивающего контроль данных, трехуровневая архитектура более безопасна, имеет невидимую структуру базы данных и обеспечивает целостность данных.
N-уровневая архитектура
N-уровневая архитектура также называется многоуровневой архитектурой. Это масштабная форма трех других типов архитектуры. В этой архитектуре предусмотрена возможность размещения каждой функции в виде изолированного уровня, который включает представление, обработку приложений и функции управления данными.
Подготовка к собеседованию. Ознакомьтесь с нашими 50 лучшими вопросами для интервью по кибербезопасности!
Разница между одноранговой сетью и архитектурой клиент-сервер
В следующей таблице перечислены пять основных различий между одноранговой архитектурой и архитектурой клиент-сервер:
Запишитесь на наш учебный курс по этичному взлому и изучите этический взлом у экспертов отрасли!
Преимущества и недостатки клиент-серверной архитектуры
Ниже перечислены преимущества и недостатки клиент-серверной архитектуры:
Преимущества | Недостатки |
Централизованная сеть имеет все возможности для управления процессами и действиями. | Если основной сервер выйдет из строя, вся архитектура будет нарушена. |
Всеми устройствами в сети можно управлять централизованно. | Эксплуатация дорогая из-за стоимости тяжелого аппаратного и программного обеспечения. |
Пользователи имеют право доступа к любому файлу, находящемуся в центральном хранилище, в любое время. | Для этой архитектуры требуются определенные ОС, связанные с сетью. |
Он обеспечивает удобный пользовательский интерфейс, простую процедуру поиска файлов и систему управления для организации файлов. | Одновременное использование слишком большого количества пользователей может привести к перегрузке трафика. |
Возможно простое совместное использование ресурсов на различных платформах. | Для обслуживания сети требуется высокотехнологичный персонал, такой как серверы. |
Курсы, которые могут вам понравиться
Заключение:
В этой статье описывается, как создание сетей представляет собой акт установления стратегических союзов путем общения и обмена данными с другими людьми, компьютерами или организациями.