Модуль 7 · Урок 25

Client, server, resources та intermediaries

HTTP — stateless request/response protocol із однаковою семантикою поверх різних transport versions. QA відокремлює ролі client/server, target resource, transferred representation та вплив intermediaries.

Client / serverResourceRepresentationIntermediaries

Ролі існують у конкретній взаємодії

Client створює request із наміром щодо target resource; server приймає його й формує response. Та сама програма може бути server для browser і client для upstream service. User agent, command-line tool, crawler або mobile app — різні clients однієї HTTP surface.

ResourceАбстрактний target, ідентифікований URI: документ, booking, search result або operation.
RepresentationПередаваний опис current/past/desired state: HTML, JSON, image чи інший media type.
MessageRequest або response зі start information, fields і необов’язковим content.

Stateless не означає «без стану продукту»

Семантику кожного HTTP request можна зрозуміти окремо; connection сама по собі не ідентифікує користувача. Application state може жити в database, а session context — передаватися cookie або authorization data. У тесті фіксуйте, який state є client-side, server-side і message-carried.

Connection ≠ session

Повторне використання connection, load balancer або proxy не дає права вважати два requests одним user session.

Origin та intermediaries

Origin визначається scheme, host і port. Між client та origin server можуть діяти proxy, gateway, CDN/cache, load balancer і service worker. Вони можуть route, cache, compress або transform, але HTTP semantics і evidence chain мають лишатися зрозумілими.

ЛанкаЩо перевіряє QA
ClientExact intent, target, fields/content і visible state.
IntermediaryForwarding, cache/transform policy, added headers, correlation.
Origin/appAuthorization, validation, state change, response contract.
DependencyTimeout/failure mapping і відсутність duplicate effects.

Практика: interaction map

Для synthetic BookFlow намалюйте browser → CDN → web app → booking service. У `request-inventory.csv` запишіть client action, target resource, representation, intermediary, expected state й evidence; у `uri-origin-map.csv` — scheme/host/port/path/query/fragment та same/cross-origin висновок.

Офіційні джерела

Практична перевірка · урок 25 з 32

Закріпіть матеріал уроку

Три сценарні питання. Для зарахування уроку потрібно дати щонайменше дві правильні відповіді.

1. Хто є client у HTTP interaction?
2. Що є target resource?
3. Що таке representation?