Ответ
**Веб-браузер** — это клиентское приложение, основная функция которого — запрашивать ресурсы у веб-серверов по протоколу HTTP/HTTPS, интерпретировать полученный код (HTML, CSS, JavaScript) и визуализировать (рендерить) итоговую интерактивную веб-страницу для пользователя.
**Основные компоненты и их функции:**
1. **Пользовательский интерфейс (UI):** Адресная строка, кнопки назад/вперед, закладки.
2. **Движок браузера (Browser Engine):** Координирует действия между UI и движком рендеринга.
3. **Движок рендеринга (Rendering Engine):**
* Анализирует HTML и CSS, строит **DOM** (Document Object Model) и **CSSOM** (CSS Object Model).
* Объединяет их в **Render Tree**.
* Выполняет **Layout** (расчет позиций и размеров элементов).
* Осуществляет **Paint** (отрисовку пикселей).
* **Примеры движков:** Blink (Chrome, Edge, Opera), Gecko (Firefox), WebKit (Safari).
4. **Интерпретатор JavaScript:** Выполняет JS-код, управляющий поведением страницы. Чаще всего это отдельный высокопроизводительный движок (V8 в Chrome, SpiderMonkey в Firefox).
5. **Сетевой слой:** Управляет HTTP-запросами и ответами, кешированием.
6. **Хранилище данных:** Управляет куками (cookies), локальным хранилищем (LocalStorage, IndexedDB).
**Практический пример работы:**
```html