169 похожих чатов

Объясните, пожалуйста, какая сейчас дихотомия между статическим и динамическим веб-сайтом?

Вот пишут "next.js для статических вебсайтов", а что имеется ввиду под этим - не до конца ясно. (Или тыкните в годную статью)

18 ответов

3 просмотра

То, что клиенту приходит. Либо его браузер сам пыхтит и строит страницу (динамика), либо всё готовенькое (next.js)

Кто пишет?

Danylo-S. ✙ Автор вопроса
Dmitriy Shuleshov
Кто пишет?

Вот честно, не могу конкретную статью кинуть, они все с друг друга копипастят

Danylo-S. ✙ Автор вопроса
Igor N
То, что клиенту приходит. Либо его браузер сам пых...

Вот теперь ясно! Потому что те объяснения которые дают первой ссылкой в Гугле устарели примерно на декаду.

Danylo S. ✙
Вот теперь ясно! Потому что те объяснения которые ...

JS быстро развивается, но не ожидал, чтоб настолько)

Danylo-S. ✙ Автор вопроса
Dmitriy Shuleshov
🙄а что дока некстжс говорит?

А я там не видел разжевывания для совсем тупых что такое Некст и с чем его едят. Просто вот те инструкция по настройке, работай.

Danylo S. ✙
А я там не видел разжевывания для совсем тупых что...

смысл такой, что обычно в реакте бровзер отдаёт тебе с сервера js-код, который компилится на клиенте (у тебя) и тебе потом твой браузер выдаёт готовую страницу. это считается не сео-френдли и всё такое. некст сам компилит страничку у себя на сервере и отдаёт тебе и поисковым ботам уже пережёванный хтмл, цсс и жс. Грубо, но понятно

Danylo-S. ✙ Автор вопроса
Igor N
смысл такой, что обычно в реакте бровзер отдаёт те...

А если сайту вообще не нужен SEO, этим можно не заморачиваться?

Danylo S. ✙
А если сайту вообще не нужен SEO, этим можно не за...

но лучше почитать сайт некста, чтобы понять его миссию. но в целом, да. сервер-сайд-рендеринг делается либо для сео, либо чтобы облегчить сборку на конечном клиенте (если, например, предполагается, что конечные клиенты слабенькие в плане железа) (но последнее уже возможно мои домыслы, так как говорю по логике)

Igor N
но лучше почитать сайт некста, чтобы понять его ми...

лучше почитать еще https://developers.google.com/web/updates/2019/02/rendering-on-the-web про преимущества

Короче смотри, по факту есть 2 типа рендеринга, клиентский и серверный. Клиентский нужен если у тебя сайт закрыт под авторизацию либо тебе вообще не надо SEO и его суть в том что у тебя всё ренедриться непосредственно в браузере человека который зашёл на страницу. Есть ещё сервер-сайд рендеринг и его фишка в том что html и css (по желанию, можно и на клиенте) рендерятся на сервере и отдаются сразу клиенту при запросе, так гугл боты видят что страница не пустая и ранжируют её в гугле, ну а js, линки и вся динамика генерятся походу уже на клиенте (этот процес называется hydration). С этим надеюсь понятно. Теперь детальней про next js, в нём есть возможность получать данные с бека ещё на стороне сервера (так ты избавишься от асинхронности внутри компонента и сразу получишь пропсами всё). Для этого есть 2 разные функции getStaticProps и getServerSideProps. Теперь детальней о твоём вопросе. Статической страницу при сервер сайд рендере можно назвать ту которая 1 раз при билде ходит в апишки достаёт данные и генерит html и всё потом при каждом запросе клиента на эту страницу будет отдаваться тот единожды созданный html она будет только делать hydration и в апишки не пойдёт для этого как ты понял есть getStaticProps. Динамическая страница это та которая при запросе клиента ходит в бекенд за данными, на основании них генерит html а потом с сервера отдавать это клиенту (ну и дальше стандартная процедура hydration), кажется что динамический подход медленнее это в какой-то мере так но это оч нужно когда тебе надо отслеживать данные которые могут меняться например ты авторизировался и заходишь на страницу профиля, и при запросе надо пойти в бек и посмотреть действительно ли ты авторизирован если да то пустить тебя а нет редиректнуть для этого и нужна такая динамика getServerSideProps

Danylo-S. ✙ Автор вопроса
Антон Витренко
Короче смотри, по факту есть 2 типа рендеринга, кл...

Так получается статика и авторизация не совместимы что-ли? Т.е. когда сервер присылает ответ в зависимости от того, какой юзер

Danylo S. ✙
Так получается статика и авторизация не совместимы...

ну статика это как правило голый html, какая тут может быть авторизация

Danylo S. ✙
Так получается статика и авторизация не совместимы...

Если мы мыслим в контексте 1 страницы то совместимы

Похожие вопросы

Обсуждают сегодня

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
hello friends. Do you know how can I learn getx? I have a software project that I should deliver it up to 5 weeks later and I need to learn firebase too. I will be thankfull
AmirHossein Razavi
15
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
14
lazarus-3.2.0/gtk, linux патч "имя проекта по умолчанию project1 -> prj" день добрый не нравится "именя проекта по умолчанию" (project1), к.раз приходится переименовывать (н...
livontiy
5
Вопрос. Теоретический. Есть список команд. Команды отправляю в обработку некой функции, по очереди. Разные команды могут давать разные результаты после обработки. В зависимос...
Serjone
7
Can I forward ports (including the SSH port) between two machines without SSH? I know I can forward SSH server port from machine A (which blocks all requests by firewall) to ...
required optional
5
Всем вечера. Подскажите как лучше сделать. делаю на Д10 Например будет база данных на SQLite. в ней будет много таблиц. более 50шт Типа справочник. Содержать ID Name Id p...
Андрей Т 🐎
10
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
Я короче решил скомпилировать Nim в js, я думал он сработает как обычный транслятор. По итогу он мне создал файл с расширением js, и туда поместил кучу кода Вопрос, что это з...
𝕾𝖍𝖆𝖉𝖊 <suspense>
9
Карта сайта