Skip to content

SSR: No vs Server Mode vs Sandbox

nin-jin edited this page Nov 24, 2022 · 1 revision

No SSR

Рендеринг только на клиенте. Поисковики через meta-fragment направляются на серверное API, которое понимает клиентский роутинг и выдаёт данные для индексирования в HTML формате.

  • Низкая нагрузка на сервер (выгребается минимум данных, которые эффективно сериализуются).
  • Точный контроль индексируемого контента (всё нужное, ничего лишнего).
  • Затраты времени на реализацию серверного API (однако оно довольно простое).
  • Сервер может использовать любые технологии.
  • Что видит клиент может отличаться от того, что выдаёт сервер.
  • Никаких ограничений на архитектуру приложения.

Server Mode SSR

Клиентское приложение запускается в специальном режиме на сервере, выдавая на выходе HTML.

  • Высокая нагрузка на сервер приложений.
  • Требуется сервер с поддержкой JS.
  • Спец режим имеет свои ограничения и особенности, которые надо учитывать.
  • Затраты времени на поддержку.
  • Результат работы в разных режимах может отличаться.
  • Накладывает ограничения на архитектуру приложения.

Sandbox SSR

Клиентское приложение запускается в безголовом браузере на сервере, после чего сформированный DOM сериализуется в HTML.

  • Низкая нагрузка на сервер приложений, но очень высокая нагрузка на ферму серверов с браузерами.
  • Никаких ограничений на архитектуру приложения.
  • Выдача сервера в высокой степени совпадает с отображением приложения.
  • Есть готовые прокси типа prerender.io.