Описание тега client-server
НЕ ИСПОЛЬЗУЙТЕ ТОЛЬКО. Модель клиент-сервер - это централизованная модель, в которой сервер по запросу выполняет специализированную службу (например, HTTP, SMTP и т. Д.) Для нескольких клиентов. Используйте для проблем, связанных со связью клиент-сервер. Используйте с соответствующим языковым тегом (например: [python]).
Централизованная модель клиент-сервер - это модель, в которой серверы предоставляют услуги для многих клиентов, которые запрашивают их, обычно по сети. Модель клиент-сервер отличается от модели одноранговой сети.
Обычно взаимодействие клиент-сервер работает следующим образом:
- Клиент подключается к серверу и отправляет запрос. Запрос форматируется по любому из нескольких протоколов, в зависимости от типа сервера.
- Сервер получает запрос и начинает его обработку. Пока это происходит, клиента заставляют ждать.
- Сервер отправляет клиенту ответ, который обычно содержит как статус (была ли ошибка), так и контент (то есть то, что изначально запрашивал клиент).
- Клиент или сервер могут либо разорвать соединение, либо сохранить его для дальнейших запросов.
Запись в домене клиент-сервер представляет собой ряд проблем:
- Многие, многие клиенты могут запрашивать услуги в любой момент времени. Эта проблема обычно встречается на веб-сайтах и обычно решается с помощью нескольких уровней балансировки нагрузки и кэширования. Архитектура Википедии является примером этого (хотя и необычно сложным).
- Сети могут легко стать ненадежными, а сеансы можно прервать в любой момент.
- Безопасность может быть проблемой из-за компромиссов безопасности, таких как атака Man In The Middle. Алгоритмы криптографии (например, SSL) широко используются в различных сетевых областях для борьбы с этим.