1. Клієнт-серверна архітектура

На ранньому етапі появи інтернету набула поширення клієнт-серверна архітектура, хоча існували й інші. Її сенс полягає в тому, що всі учасники мережі поділяються на дві логічні частини: клієнт та сервер.

Завдання сервера (server, від serve - служити) — обслуговувати запити клієнтів. Сервер робить більшу частину роботи, зберігає всі необхідні дані та стежить за їх цілісністю. І хоча є комп'ютери, які називаються серверами, зазвичай під поняттями "клієнт" та "сервер" мається на увазі ПЗ.

Завдання клієнта — жити на втіху. Коли клієнту потрібні дані від сервера, він надсилає йому запит. Через деякий час він отримує відповідь від сервера і може робити з цими даними щось важливе.

Ініціатором запитів завжди є клієнт. Режим спілкування завжди організовано у вигляді запит-відповідь. Це у певному сенсі є синонімом поняття “клієнт-сервер”.

А які ж альтернативи? По-перше, однорангові мережі, де всі учасники рівні (їх ще називають peer-to-peer мережами). Якщо ви зі своїм другом переписуєтеся в чаті або за допомогою СМС, саме це і є прикладом однорангової мережі. У чому відмінність?

Ви можете написати повідомлення і не отримати відповіді на нього, а потім надіслати нове, тощо. Ваш друг може бути ініціатором діалогу. Будь-яка зі сторін може написати першою. Уся інформація про діалог зберігатиметься в обох сторін, ніхто не повинен відповідати.

Переваги клієнт-серверної архітектури:

Надійність. Клієнти можуть знаходитися будь-де, навіть на ненадійних платформах. Windows на вашому комп'ютері може злетіти, iPhone можуть вкрасти, а дані, які зберігаються в хмарі, нікуди не подінуться.

Слабкі та дешеві клієнти. Якщо вам потрібно зробити монтаж відео на телефоні, ви завантажуєте його на сервер і виконуєте на серверних потужностях. Клієнт може бути найдешевшим інструментом.

Збалансоване навантаження. Кожен клієнт має індивідуальний графік використання, який може бути дуже стрибкоподібним. На сервер приходять запити від тисяч клієнтів, його навантаження усереднюється, а отже, стає краще прогнозованим.