В чем суть SSR (Server Side Rendering)?

Читал-читал про SSR, и не понимаю в чем соль. Почему считается, что это должно работать быстрее для пользователя? Или точнее даже - чем это отличается от любого сайта созданного до понятия "SSR"?

Ведь, если я не ошибаюсь, суть подхода в том, что сначала один js получает от другого js, некий json, конвертит его в строку, и вставляет в хтмл.
Тут вопрос. А зачем? Если сервер мог сразу сгенерить страницу с итоговым хтмл...

Получается нужно знать express, babel, webpack, какой нибудь там next/nuxt или как их там... Или же просто взять и на условном рнр, без знаний десятка доп технологий, написать index.php, в котором уже будет всё сгенерировано и так же отдано пользователю.
  • Вопрос задан
  • 1050 просмотров
Пригласить эксперта
Ответы на вопрос 4
@Kostik_1993
Web Developer
Вы путаете немного понятия. Ну или много путаете) SSR на PHP это когда вы используете его как шаблонизатор. Но сейчас не то время когда все пишется на одном только PHP. Сейчас очень много браузерной логики и интерактивности. И удобнее и производительнее использщовать SPA приложения. Но у них есть минус, их не видят поисковые роботы и пользователь видит хоть какой-то контент только когда получит весь JS. Для этого и используется SSR SPA приложения. Это процесс когда пользователю при первой загрузке страницы отдается HTML с сервера, а все дальнейшие манипуляции с ним происходят на клиенте внутри SPA

Если вы пользуетесь фреймворками Vue/React то для них есть решения Nuxt.js/Next.js которые являются по сути обертками удобно реализующими SSR этиъх приложений. Что касается терминов, Express в случае этих решений вам не понадобится. А вот babel, webpack в любом случае придется использовать, так как они нужны для работы не только SSR но и сборки и работоспособности клиентского JS
Ответ написан
t-alexashka
@t-alexashka
Сразу пишу legacy код
это скорее надо для seo. чтобы страница при запросе роботом - уже была в читаемом виде с html разметкой, а не строилась после загрузки страницы.

говорят ща работы умные, и генерацию понимают, но раз этот инструмент все еще есть - значит есть и не очень умные роботы, которым надо сразу разжеванный текст подавать.
Ответ написан
ArsenyMatytsyn
@ArsenyMatytsyn Куратор тега JavaScript
Руководитель frontend направления, предприниматель
Динамические сайты, которые все больше занимают места на рынке, в виде загруженной html страницы представляют собой обертку типа:
<html>
   <head>...
   <body>
       <p>Сообщение, которое будет отрисовано, если у юзера выключен JS</p>
       <script src="скрипт, генерирующий внешний вид и логику">
   </body>


Т.е. данных нет. Из минусов:
1. Роботы, которые не ждут отрисовки страницы просто не получают никаких данных.
2. Пользователь получает данные тогда, когда они у него будут отрисованы, что создает некоторую задержку.

SSR генерирует страницу со стартовыми данными и решает эти две проблемы. Для веб-приложений это скорее ненужная фича, а для сайтов, типа интернет-витрин полезно.
Ответ написан
SkiperX
@SkiperX Куратор тега HTML
Реактивные spa фреимворки обеспечивают перерисовку интерфейса при изменении данных. Это гораздо более удобный подход, чем jquery. Плюс есть организация кода из коробки. Замороченный интерфейс можно написать меньшим количеством кода и более структурировано.
Если у вас данные на странице не меняются при взаимодействии с пользователями, то это вам не нужно.
https://youtu.be/LV235z6qOUI
https://youtu.be/4xyb_tA-uw0

А ssr это просто костыль для поисковиков, когда они научатся индексировать spa, от ssr откажутся.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы