LINUX.ORG.RU

Чистая статика в вебе

 


2

2

Навеяно

Стоимость лицензии oracle application server

Почему в веб-фреймворках не разработана инфраструктура построения исключительно сгенерированых в статику сайтов?

Например сайт таков, что его редактирует малая группа людей. Эта группа таких размеров, что нагрузку легко выдерживает один сервачок на каком-то пыхтоне.

Страницы заданы шаблонами из баз и по мере появления изменений в базах перегенерируется контент на группе удаленных nginx серверов. Ну там атомарно, все дела. Можно что-то придумать короче.

Счетчики, комменты, лайки, аналитика - все аутсорсится в Google/Yandex/VK/you name it и встраивается в страничку.

Например так вполне бы могли работать сайты СМИ. По это модели работает очень много чего уже сейчас, но костылями.

Можно подойти к вопросу с другой стороны - кеширование. И тоже используетя. Но там кажется проще ноги сломать.

Ну и по очевидным причинам безопасность повышается. Бекенд может быть полнейшим решетом без апдейтов. Фронтенд (если это не Amazon S3 например) только нужно будет обновлять, что достаточно просто. Так как по сути сайт - комбинация read-only и соцсетей, то взломать его тяжеловато

★★★★★

Последнее исправление: vertexua (всего исправлений: 2)

Ну есть же статические блоги. СМИ по идее могли бы использовать тот же Jekyll или аналогичный статик-генератор на NodeJS. Или я что-то не понимаю?

noomorph
()
Ответ на: комментарий от POLTER

О, что-то похожее. Хотя и ближе к каким-то CMS чем просто фреймворк

vertexua ★★★★★
() автор топика
Ответ на: комментарий от noomorph

Он сам сервит контент? Просто nginx справлялся бы этим даже лучше наверное, он мог бы просто складывать в нужное место

vertexua ★★★★★
() автор топика
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от pi11

Кеширование пусть останется, но в качестве минорной оптимизации и пусть будет полностью concern части nginx, а не критической частью, на которой держится вся производительность.

Бекенд при этом мог бы быть сколько угодно медленным, ненадежным и даже в одном экземпляре. Так как если он упадет, то damage минимален - нельзя запостить новую статью. Его переподымут и опять все ок. База - тоже.

Например на амазоне это вполне бы работало на одном микро-инстансе и большом S3. А то и на гитхабе хостить можно. Комбинация Openshift + Github Pages - совсем бесплатная получается.

С другой стороны при постинге новой статьи контент атомарно перегенерировался на серверах и это был бы concern фреймворка и ничего не нужно было явно инвалидировать в кешах.

vertexua ★★★★★
() автор топика

потому-что кеширование решает эту проблему на 100% - можешь кешировать по самое неболуй и вот тебе будет та же статика, зачем собаке пятая нога

umren ★★★★★
()

Вы изобрели джекил, октопресс и дискус. Поздравляю :)

Vit ★★★★★
()

Даже wordpress это умеет.

xtraeft ★★☆☆
()

Почему в веб-фреймворках не разработана инфраструктура построения исключительно сгенерированых в статику сайтов?

Потому что невостребовано. Вебдваноль принёс динамический контент, а статика умерла за ненадобностью и неудобством использования.

E ★★★
()

да вообще весь веб исторически через жопу работает, в каждом аспекте :)

Harald ★★★★★
()

Помимо все прочего, есть еще архитектурный подход CQRS + Event Sourcing, где твои проекции (в другой терминологии: вьюшки) могут вместо складывания в базы данных генерировать заранее подготовленную статику сразу на просмотр. Довольно высокий порог вхождения, но штука интересная.

noomorph
()
Ответ на: комментарий от vertexua

REST уже как-то не вписывается в понятие «статика»

umren ★★★★★
()

А зачем? Я не понимаю что тебе мешает просто билдить html?

ritsufag ★★★★★
()

Спрос рождает предложение. 99 % пользователям фреймворков они нужны для создания именно динамических сайтов.

И кстати, сёрвить закэшированный контент нгинксом из мемкэша/редиса или варнишем, скорее всего, выйдет быстрее, чем тупо статику с файловой системы.

Apple-ch ★★
()

Почему в веб-фреймворках не разработана инфраструктура построения исключительно сгенерированых в статику сайтов?

потому, что есть такие фреймворки, как полностью стат. с перегенерацией типа hakyll, jekyll так и поддержка в других, напр. в yesod.

qnikst ★★★★★
()
Ответ на: комментарий от vertexua

Ну так там html редко меняется и для него cms не используется. Т.е. твоя схема не нужна просто.

pi11 ★★★★★
()

Почему в веб-фреймворках не разработана инфраструктура построения исключительно сгенерированых в статику сайтов?

а нафига плодить лишние сущности? это легко делается с помощью wget -r

например, http://mars.51t.ru http://complex.51t.ru http://enjoy.51t.ru это сайты на bottle.py, которые с помощью wget -r превратились в набор html-сайтов.

feofil
()
Ответ на: комментарий от feofil

это сайты на bottle.py, которые с помощью wget -r превратились в набор html-сайтов.

А если бы они были на php то не превратились бы в набор html файлов чтоли?

pi11 ★★★★★
()
Ответ на: комментарий от pi11

в php роуты определяются веб-сервером. т.е., нужен ещё и вебсервер и его настройка. а так - запустил, нагерерировал, с помощью scp залил - у меня это shell-скрипт может выполнять.

feofil
()

Почему в веб-фреймворках не разработана инфраструктура построения исключительно сгенерированых в статику сайтов?

Мой первый вариант «генерилки сайтов» (тогда термина «фреймворк» не знали, тем более — CMS и т.п.) в ~1998-м так и работал. Были HTML-шаблоны, были plain-text файлы с контентом (на своей самопальной разметке). Запускалась программка, в выхлопе — готовое html-дерево для аплоада на FTP. Сперва программка была на QBasic, потом на Forth, потом на Perl в офлайне, потом на Perl в онлайне, потом на PHP. Так до нынешнего фреймворка и доехало. И, да, при желании на нём спокойно можно генерировать чистый HTML :) Но проку мало, голые статические сайты сегодня мало интересны. Обычно нужна динамика, персонализация страниц и т.п. Так что я как и большинство подобных решений, использую либо чистую динамику, либо статическое кеширование + динамическую персонализацию через JS.

KRoN73 ★★★★★
()
Ответ на: комментарий от Apple-ch

сёрвить закэшированный контент нгинксом из мемкэша/редиса или варнишем, скорее всего, выйдет быстрее, чем тупо статику с файловой системы

Статика с файловой системы сразу осядет в кеше и снова будет быстрее, чем дёргание результата из мемкеша/редиса из-за оверхеда на вызовы последних :)

KRoN73 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.