Ответ
**SSR (Server-Side Rendering)** — это архитектурный подход, при котором конечный HTML-код страницы генерируется на сервере и отправляется браузеру уже в готовом для отображения виде. Это противоположность **CSR (Client-Side Rendering)**, где сервер отправляет почти пустой HTML-документ и JavaScript-фреймворк (React, Vue.js) строит интерфейс в браузере.
**Как это работает в контексте PHP-приложения:**
1. Пользователь запрашивает страницу.
2. PHP-скрипт на сервере выполняет логику (запросы к БД, вычисления).
3. Данные передаются в шаблонизатор (например, Blade в Laravel или Twig).
4. Шаблонизатор рендерит полную HTML-страницу.
5. Готовый HTML отправляется клиенту.
**Пример на чистом PHP:**
```php
// index.php
$pageTitle = "Главная страница";
$articles = getArticlesFromDatabase(); // Функция, возвращающая массив статей
// Рендеринг (упрощённо)
ob_start();
include 'template.php';
$html = ob_get_clean();
echo $html;
```
```html
= htmlspecialchars($pageTitle) ?>
```
**Преимущества SSR:**
* **Быстрая первоначальная отрисовка (First Paint):** Браузеру не нужно ждать загрузки и выполнения большого объёма JS, чтобы показать контент.
* **Лучшая SEO-оптимизация:** Поисковые роботы легко индексируют готовый HTML-контент.
* **Работа без JavaScript:** Основной функционал доступен даже при отключённом JS.
**Недостатки SSR:**
* **Высокая нагрузка на сервер:** Каждый запрос требует генерации полной страницы.
* **Меньшая интерактивность:** Для сложных динамических интерфейсов после загрузки страницы всё равно требуется "гидрация" (подключение JavaScript-логики).
= htmlspecialchars($pageTitle) ?>
= htmlspecialchars($article['title']) ?>
= htmlspecialchars($article['excerpt']) ?>