elglin: (Default)
[personal profile] elglin
Решил, больше для себя, записать важную фигню, чтобы не забыть.
В моем мире из конца 90-х с понями и радугой HTML регулярно писался руками, и многие сайты в забытом ныне броузере lynx выглядели пусть и чисто текстово, но не менее бодро, чем в гуях. Вот про CSS и HTML4 я почитать уже успел, а дальше дорога увела меня в сторону от этого дела.
Серверная генерация контента, в принципе, не так плоха при наличии хоть сколь-нибудь удобного темплейтинга вроде Jinja, да и, если что, такой контент (это же чистый и незамутненный HTML, особенно если скриптовая логика вынесена в отдельные .js) легко можно курлануть и распарсить.
Но есть нюанс. В бложеге с минималистичным интерфейсом и во всяких служебных консолях соотношение контент/рюшечки достаточно высоко. А вот если вы что-то кому-то продаете, то это отношение стремится к нулю. Данных пара килобайт, верстки килобайт сто.
И тут кого-то очень давно посетила гениальная идея, до которой я, ущербный, дотумкал только недавно, освежая в памяти, что такое CDN и зачем ее едят. А давайте отдадим клиенту абсолютно фиксированную страницу, которая потом скриптом (через AJAX или еще как) подтянет себе данные. И вот тут начинается отстрел зайцев в промышленном масштабе.
У нас пропадает динамическая генерация контента на сервере. Сервер либо отдает статику (включая саму страницу), либо маленькие шматочки данных, и естественно, что это разные сервера. А весь рендер уходит на клиента, ну так серверное-то время денег стоит, а клиентское - нет. Кроме того, поскольку и страница (и ее скрипты) теперь статика, то это все можно удвинуть на CDN, и оно будет бешено быстро грузиться.
Клиент, у которого проц раньше прохлаждался на 94%, а теперь на 91% (а пусть и на 80%) доволен - за счет CDN у него все очень быстро грузится, а то, что достается не из CDN, это ж голые данные. А сервер-то доволен еще больше. Не нужна батарея на рендеринг контента - можно голые строчки из базы пулять, фронт отрендерит. Не нужна батарея на статику - ну то есть совсем что-то чахлое не стоит, кэши надо прогреть, но потом-то львиная доля запросов до ориджина даже не дойдет.
Да и все страницы теперь статика, так что и они улетели в CDN, и из динамики осталась одна апишечка, которая, если вдуматься, частенько есть тонкая обертка над SQL. Ну или модным нынче NoSQL, один, в общем-то, хрен.
Page generated Jun. 24th, 2025 01:32 am
Powered by Dreamwidth Studios