> 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/http-protokol.md).

# HTTP протокол

**HTTP протокол (HyperText Transfer Protocol «протокол передачі гіпертексту»)** – це протокол прикладного рівня гіпермедійних документів, таких як HTML. Протокол був розроблений для зв'язку між веб-браузерами і веб-серверами, але також використовується і для інших цілей. HTTP протокол використовується не тільки для передачі гіпертекстових документів, але і для передачі зображень та відео або для відправки контенту на сервери. Також HTTP використовується, щоб отримати частину документа для оновлення веб-сторінки за вимогою.

Цей протокол використовує класичну модель клієнт-сервер, при якій клієнт (веб-браузер) робить запит, сервер формує відповідь і відправляє її назад клієнту у вигляді інформації, яку ми бачимо в браузері. Також необхідно знати, що клієнт і сервер не зберігають інформацію про попередні запити. Тому кожен запит містить всю необхідну інформацію.

Між клієнтом і сервером існує безліч сутностей, які називаються **проксі.** Вони виконують різні операції і виступають, наприклад, в якості шлюзів або кешів.

<figure><img src="https://lh3.googleusercontent.com/xVzw6k4tNLgQ_SqgK7yeCWpAVIr3Zto88zMebbdgSEGz-aKBq79QupNF9EZzPEOWckulWRILbG8Pzw_bmdoNWqssPk9zr0MvYE6ajnFpRyt6BUqFid9eDw-vd5FKBSw6afg1aUZiblgfCnc3OCkaxpg" alt=""><figcaption></figcaption></figure>

Браузер завжди є ініціатором запитів. Щоб веб-сторінка відобразилася на екрані, він відправляє вихідний запит на отримання HTML-документа. Потім відбувається аналіз файлу, за допомогою додаткових запитів, відповідних до сценаріїв виконання. Далі браузер компонує отримані ресурси і відображає цілісний документ (в даному випадку – веб-сторінку). Сценарії, що виконуються браузером, можуть отримувати більше ресурсів на більш пізніх етапах, тому відбувається оновлення веб-сторінки.

На протилежному боці каналу зв'язку знаходиться сервер, який обробляє документи за запитом клієнта (в даному випадку – браузера). Сервер віртуально виглядає як одна машина. Але насправді, це може бути набір серверів, які розділяють навантаження, повністю або частково генеруючи документ за запитом.

<br>
