Ни характер нагрузки, ни объем данных, ничего не известно. Как тогда можно что-то рекомендовать?
Я бы делал так: сделал шарды из базы, например 4 штуки. Поставил бы Redis в прослойку между бекендом и базой, M/S репликацию. Nginx + Lua написал бы скриптик, который брал бы из редиса по ключу данные и отдавал, тогда бекенд вообще не будет напрягаться. Бекенд написал бы на Go. Генерировать это все в статику я бы не стал, т.к. забить сервер статикой при больших объемах можно легко, но нет никаких гарантий что весь этот контент нужен прям одновременно - какой-то бот придет на страницу 2 летней давности, и ему проще выплюнуть её и забыть, чем сохранить результат в кеш, держать в хеш-таблице и потом вычищать весь этот мусор. Ну или по burst смотреть, если три раза спросили - тогда в кеш. В редисе хранить только горячие данные.
Это data-атрибут, но именно с data-v-09125 и прочими хешами добавляет scoped стили от Vue.js, чтобы убрать конфликт имен и инкапсулировать стили вместе с компонентом где они применяются.
https://quasar.cc/ - можете на моем сайте глянуть, тут тоже такое есть.
Через саппорт восстановили номер, сначала скинули ссылку на процедуру восстановление: нотариус, голубиная почта, все дела. Потом позвонили на телефон, подтвердил всю инфу, и восстановили. Вебмани такие сложные.
Продавайте CMS и все остальное с потрахами, хоть что-то отобьете. Спихнуть кому-то бизнес сейчас нереально, сам пробовал, хотя у меня и продажи хоть и не большие, но есть.
Debian: Первый выпуск - 16 августа 1993
CentOS: Первый выпуск - 14 мая 2004 года
К - компетентность.
Link preload тоже работает с пушем, просто раньше браузеры парсили хидер, и начинали загружать все из заголовков Link ещё до парсинга страницы, потом nginx научился парсить ответ от бекенда, и пушить принудительно на клиент ещё до того, как страница туда долетела. Ну а теперь настало время разобраться с service workerами и WebAssembly.---------- Добавлено 04.09.2018 в 14:46 ----------
Пуш скорее всего происходит. Емнип, nginx не умеет контролить что он пушил, а что нет.
Давайте поговорим про Мелитополь? Есть кто оттуда? Как вы там живете? Каждый раз проезжаю по вашим дорогам, и посылаю вам проклятия :)
Чтоб вы понимали:
- статика отправляется первый раз, потом она грузится из кеша (ваши копейки кб экономятся только единожды для каждого клиента).
- для динамических старниц (где есть CSRF-токены) использовать сжатия по SSL не рекомендуется, т.к. это потенциальная уязвимость для HEIST/BREACH атак, хоть они и трудновоспроизводимы, но кто знает, как это скажется на работе сайта.
- есть множество других оптимизаций, которые вы не делаете, но почему-то идете путем компрессии. например, server push для первых клиентов в разы улучшает появление первого экрана.
- сконпелировав nginx с бротли, вы теряете обновления из репозитория.
Точно нет? А это что тогда?
Бротли можно юзать безболезненно, браузер сначала посылает заголовки Accept-Encoding:
accept-encoding: gzip, deflate, br
Сервер на основании этих заголовков либо юзает brotli, либо нет, поэтому посетителей не потеряете.
Я не юзаю, т.к. емнип придется пересобирать nginx, а я не любитель таких затей, особенно учитывая профит.
П.С., есть ещё zstd, который в разы эффективней, но он в HTTP пока не юзается.