Клиент-сървър

от Уикипедия, свободната енциклопедия
Направо към навигацията Направо към търсенето
Схематично взаимодействие от типа клиент-сървър.

Клиент-сървър е тип мрежова архитектура, която отделя клиента от сървъра и най-често се използва в компютърни мрежи. Всеки клиент или сървър, свързан с мрежата, може също така да бъде използван като възел.

Най-елементарната типова клиент-сървър архитектура се състои от две части – от едната страна е сървъра, от другата страна е клиента. Постигането на определен резултат при използване винаги е свързано с комуникация между двете страни.

Характеристики[редактиране | редактиране на кода]

Характеристики на Клиента

  • Подава заявки
  • Изчаква отговор
  • Свързва се до малък брой сървъри едновременно
  • Взаимодейства си с крайните потребители чрез графичен интерфейс


Характеристика на Сървъра

  • Пасивност (slave)
  • Чака за заявки от клиенти
  • При получаване на заявки, ги обработва и след това отговаря
  • Получава заявки от голямо количество клиенти
  • Не контактува директно с крайният потребител

Портове[редактиране | редактиране на кода]

При сърфиране в Интернет браузърът е в ролята на клиент, който подава заявка по определен комуникационен протокол към сървъра, където са разположени търсените интернет страници.

Всяка услуга от страна на сървъра трябва да се предлага с предварително известни параметри (в компютърната терминология това са комуникационните протоколи и специфичните портове).

Според IANA портовете се разпределят на три основни категории:

  • Добре известни портове от 0 до 1023. – предназначени за стандартни услуги – например пренос и некриптиран достъп до електронна поща (SMTP:25 и POP3:110), достъп до интернет страници чрез браузъри (HTTP:80) и др.
  • Регистрирани портове от 1024 до 49151 – използват се от определени програми
  • Динамични портове от 49152 до 65535 – използват се за осъществяване на текущи комуникационни връзки

Обмен на информация[редактиране | редактиране на кода]

Ред на обмена на информация при комуникация „клиент-сървър“:

  • програмите клиенти подават заявка за определена услуга към съответния порт на сървъра
  • след приемането на заявката сървърът трябва да информира браузъра, че връзката е изградена и комуникацията ще продължи по друга двойка портове
  • комуникацията продължава по друга двойка потрове

Пример[редактиране | редактиране на кода]

  • Запитване на клиент от свободен порт на вашия компютър (например 50 001) към порт 80 на уеб сървър www.name.com – заявка за зареждане на главната страница на www.name.com.
  • Отговор на сървъра: потвърждение на заявката, получена през порт 50 001 и прехвърлянето ѝ от порт 80 към порт 60001.
  • Отговор на клиента: потвърждаване, че комуникацията между сървъра и клиента ще продължи от клиентски порт 50001 към сървърен порт 60001.
  • Сървърът „отбелязва“, че порт 60001 вече е зает за комуникация с този клиент. Сървърът започва да очаква сигнал за прекратяване на сесията от браузъра на клиента.