> For the complete documentation index, see [llms.txt](https://swit-school.gitbook.io/qa-book/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://swit-school.gitbook.io/qa-book/testuvannya-igor/ponyattya-pro-kliyent-servernu-arkhitekturu/sho-take-kliyent-serverna-arkhitektura.md).

# Що таке клієнт-серверна архітектура?

Архітектура клієнт-сервер є одним із архітектурних шаблонів програмного забезпечення та є домінуючою концепцією у створенні розподілених мережних застосунків і передбачає взаємодію та обмін даними між ними. Вона передбачає такі основні компоненти:

* **набір серверів, які надають інформацію або інші послуги програмам, які звертаються до них;**
* **набір клієнтів, які використовують сервіси, що надаються серверами;**
* **мережа, яка забезпечує взаємодію між клієнтами та серверами.**

Сервери є незалежними один від одного. Клієнти також функціонують паралельно і незалежно один від одного. Немає жорсткої прив'язки клієнтів до серверів. Більш ніж типовою є ситуація, коли один сервер одночасно обробляє запити від різних клієнтів; з іншого боку, клієнт може звертатися то до одного сервера, то до іншого. Клієнти мають знати про доступні сервери, але можуть не мати жодного уявлення про існування інших клієнтів.

<br>

<figure><img src="https://lh4.googleusercontent.com/QylGXX6DnPzPIZbSVDLHPC5qvbzIdER6N8hWFS7PNAofVTC2Ampwo7WU5gomp1ltPaJADjG9WIQuSLSw-OJcULXL-mN8lADBcBGYKPF9aQOCBocJMwUvhPjCyrkkdl06YIADLnsZ7fjQXPqDkbS8EaehwA=s2048" alt=""><figcaption></figcaption></figure>
