Модуль 7 · Урок 25
Client, server, resources та intermediaries
HTTP — stateless request/response protocol із однаковою семантикою поверх різних transport versions. QA відокремлює ролі client/server, target resource, transferred representation та вплив intermediaries.
Ролі існують у конкретній взаємодії
Client створює request із наміром щодо target resource; server приймає його й формує response. Та сама програма може бути server для browser і client для upstream service. User agent, command-line tool, crawler або mobile app — різні clients однієї HTTP surface.
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 |
|---|---|
| Client | Exact intent, target, fields/content і visible state. |
| Intermediary | Forwarding, cache/transform policy, added headers, correlation. |
| Origin/app | Authorization, validation, state change, response contract. |
| Dependency | Timeout/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 висновок.
Офіційні джерела
Закріпіть матеріал уроку
Три сценарні питання. Для зарахування уроку потрібно дати щонайменше дві правильні відповіді.