Опубликован выпуск высокопроизводительного HTTP-сервера и многопротокольного прокси-сервера Angie 1.4.0, ответвлённого от Nginx группой бывших разработчиков проекта, уволившихся из компании F5 Network. Исходные тексты Angie доступны под лицензией BSD. Проект получил сертификаты совместимости с российскими операционными системами Ред ОС, Astra Linux Special Edition, Роса Хром 12 Сервер, Альт и ФСТЭК-версии Альт...Подробнее: https://www.opennet.me/opennews/art.shtml?num=60276
помню кто-то обещал хаутушку по метрикам сделать...
Удваиваю этот реквест.
https://habr.com/ru/articles/763626/ - не то?
нет, там просто пересказ ридми с картинками. Все очень интересно но ничего непонятно, вероятно и автору тоже - "а давайте все это сложим в прометеус вдруг когда-нибудь сумеем разобраться" - как у девляпсов нынче и принято.В особенности непонятно - что вообще делать с этой информацией.
Вот что делать с апачевым мод-статус было понятно - обычно одного взгляда на него хватает чтобы понять - перегружен сервер или болтается с нулевой загрузкой, чем вообще занят, и это нашествие роботов связано с конкретным сайтом или они пришли ко всем сразу но с характерных источников. Более того, его легко было парсить скриптом без всяких сложных хрясь-апи, если типовые ситуации такого рода уже задолбали.
А тут масса каких-то непонятных кишков, о которых лично я предпочел бы знать ничего. И нет банальной странички со списочком кто к нам колесы катит.
https://github.com/vozlt/nginx-module-vts был как-то более понятен и человекочитаем (для нечеловеков он умеет нескучный json) но опять же малополезен для ответов на вопросы что случилось и что с этим делать.
Кароч, так и запишем — чтобы делать выводы из данных мониторинга, надо быть девляпсом. Ну, или смузи навернуть.
Без этого, все эти циферки и графики так и останутся непонятными.
Я пробовал (в смысле, навернуть). Сблявнул. Понятнее не стало.А нащот девляпсов не сцы - они тоже не понимают. Чтоб тыкать в эти цыфири с умным видом - понимать в общем-то и необязательно.
Да, это был сарказм. От смузи серые клеточки не растут.(Правда, абсолютно непонятно, почему вы называете "девляпсами" тех людей, которые, в отличие от вас, знают матчасть: TCP, IP, ICMP, DNS, HTTP, сокеты, треды и прочее. Но без этих знаний на метрики смотреть действительно мало толка. Разве что какой-нибудь "девляпс" натаскает вас на алгоритм реагирования в некоторых типовых ситуациях.)
> (Правда, абсолютно непонятно, почему вы называете "девляпсами" тех людей, которые, в отличие
> от вас, знают матчасть: TCP, IP, ICMP, DNS, HTTP, сокеты, тредыи много других страшных слов. Вот поэтому и называю. Слова ты знаешь, а понять что информация в странном этом статусе бесполезна для траблшутинга (и твои заклинания не делают ее ни на бит полезнее) - не смог, потому что никогда им и не занимался.
А толку от этих знаний? Вот вывод какого-нибудь netstat/ss можно за 5 секунд отфильтровать и проагрегировать grep/sed/awk. А с этой штукой что делать?
ну а как ты по netstat будешь гадать КУДА оно все такое вот пришло? Откуда- ну допустим видно (но это запросто может оказаться гугляндекс и зобанить его ты не можешь).Так что нет, возвращаемся к парсингу обычного access_log, и это не пять секунд, и вообще ужасно унылое дело.
А с той штукой - да, совершенно непонятно, что делать. Ну увидел я что перегружен какой-то конкретный бэкэнд... во-первых я это и так знаю уже - от самого бэкэнда. Во-вторых - и что делать с этим знанием?
А больше там интересного и нет ничего.
Нужно!
Один миллион как-то слишком мало. Такой донат фрибзд получила от основателя воцап.
Это _российский_ форк!Если бы они потратили миллион на то же на что его потратила FreeBSD - их бы уже вертели на швабрах. У нас этоваше [censored] - запрещенная экстремиськая организация, а баба должна рожовывать а не программировать.
P.S. статус они конечно сделали - ну очень странный. Кому-нибудь на самом деле нужно вот ту галиматью которую он показывает?!
За mp4_limit_rate зачёт! Если добавите ещё и кодирование налету в HLS, то моё сердце будет ваше))
Сердце это слишком много, ограничься регулярным донатом.
одну почку сегодня, вторую через пол-года? А им точно хватит?
Алё, сейчас на европейском и американском рынке почки идут буквально за три копейки, спасибо "моцарту" и их наследникам. Знаете, сколько народа ежедневно помирает в госпиталях известной страны? Причём не от старости и хронических болезней. Разве можно позволить пропадать такому количеству доноров?Арахамия уже 200-метровую яхту заказал, Ермак подумывает о покупке третьего личного боинга. Но для простых людей результат один: продавать почку нынче уже бесполезно.
> Алё, сейчас на европейском и американском рынке почки идут буквально за три
> копейки, спасибо "моцарту" и их наследникам. Знаете, сколько народа ежедневно помирает
> в госпиталях известной страны? Причём не от старости и хронических болезней.не хотел бы тебя пугать или огорчать, но охота на призывников идет в несколько соседней стране и в самом разгаре. Причем - в дефолт сити, где только в самый плохой месяц прошлый раз было что-то подобное, но тогда ловили хотя бы примерно подходящих по параметрам, а не всех кому стукнуло 18.
Я, конечно, подозреваю что ты немного вырос из призывного возраста, но ведь когда молодняк закончится - придут и за остальными.
С таким подходом вы как донатер быстро закончитесь. Ну или у вас почки регенерируют...
Директива "mp4_limit_rate" выглядит как дичайший костыль. Почему нельзя сделать выбор типа файла, для которого будет выполняться это ограничение?
В смысле? Всегда было можно - location ~ \.mp4$ { limit_еёрейт!; }
Других "типов файлов" у меня для вас нет, операционная система rsx11 давно умерла (да и там они были не так чтоб надежны. Я даже и не знаю у кого были.)Там смысл этого лимитрейта по сравнению с обычным, действующим для любых файлов - только в том что он привязывается к рейту конкретного видосика (видосик для этого я так понимаю надо внимательно прочитать, с хорошими рисками поймать там пару шансов выполнить какой-нибудь кадрик в контексте процесса nginx, чиста чтоб не расслаблялись)
Типа если ты хочешь импортозамещенный утруп с русским лото и доступными барышнями, ну то есть чтоб видео все еще можно было смотреть, а скачивать только на скорости 32bit/s , прям как у настоящего гугля.
Вы мне лучше расскажите, кто-нибудь mp4_start_key_frame - вот эту хрень понимает как она вообще работает?
Или забить, все равно через пару лет нам и в пень будет не нужно это ваше mp4?
> ну то есть чтоб видео все еще можно было смотреть, а скачивать только на скорости 32bit/s , прям как у настоящего гугля.А чем для веб сервера заключается отличие просмотра от скачивания?
ну ты же не хочешь, наверное, ждать пока оно скачается на 32битах?Вот для веб-сервера тем и отличается, что Хозяин поставил его не чтоб ты скачивал, а чтоб смотрел то что он тебе хочет показать.
(ну на самом деле немного и правда бесит когда к тебе приходят роботы т-поватые и пытаются скачать очередную 32g флэшку с gopro выложенную друзьям без обработки. Причем зачем гуглю и яндексу это все щастье - они и сами не знают. Но закрома бездонные и туда тащится все. Но у меня с этим справлялся обычный limit_rate, зачем файл еще и парсить-то.)
Чего ты там ещё собрался выбирать?
Отдавать в потоке не только лишь mp4, например.
Лютая дичь, ога. Чуваки ваще не заморачиваются касательно границ ответственности ПО. Сейчас они видеоформаты читают, а завтра что? CD диски записывать будут? Потому что кому-то вдруг потребовалось?
Как у них вообще хватило ума на это? Я вангую этот делал именно тот "инженер", который имеет необратимые повреждения мозга фронтендом. Иного представить сложно. У любого связаного с разработкой ПО (т.е. не фронтенда) "полыхнет" от реализации такой фитчи на таком уровне абстракций.
И еще интересно, как они это реализовали? Втащил в nginx ffmpeg? Или прямо в самом коде реализовали чтение атрибутов mp4 и собираются это поддерживать? Хотя "что-то, что это..."
Пишу комментарий и у меня прямо пригорает. Ребята, ну зачем, хорошо ведь все начиналось?
Почему если вам надо шейпер на конкретные файлы не сделать его вообще абстрактным относительно файлов и форматов, ведь форматы это вообще не уровень веб сервера. Почему нельзя заставить пользователя ложить параметры шейпинга для конкретного файла во внешню быструю kv базу и забирать их оттуда при отдаче, кешировать эти парметры? Зачем такое убожество?
Т.е. на N-ом то году жизни вы вдруг узнали, что в nginx уже сто лет как есть модуль для псевдо-стриминга mp4 и вот в нем просто реализовали дополнительную опцию?
причем по-моему как обычно это копипаста из nginx pro
Тут странно не то что они сделали. А то что ты реально верил что они смогут сделать что-то стоящее. Прав был Сергей Пантелеевич.
> Почему если вам надо шейпер на конкретные файлы не сделать его вообще
> абстрактным относительно файлов и форматов, ведь форматы это вообще не уровеньпотому что для видео это не совсем так работает. Будешь отдавать его медленнее чем оно предназначено воспроизводиться - тебя отп...дят счастливые зрители.
> веб сервера. Почему нельзя заставить пользователя ложить параметры шейпинга для конкретного
> файла во внешню быструю kv базу и забирать их оттуда припочему бы действительно вместо того чтобы просто не взять параметры прямо из файла - не встраивать в веб-сервер взаимодействие с какими-то базами и еще какой-то отдельно кэш?! Попутно озадачив пользователя микроменеджментом этого всего вручную.
Вот прямо образцовый разработчик пришел к нам в тред, не то что эти вот все.
>потому что для видео это не совсем так работает. Будешь отдавать его медленнее чем оно предназначено воспроизводиться - тебя отп...дят счастливые зрители.Как это противоречит тому что я написал выше?
Представим следующий пайплайн:
- Загрузка файла на сервер тригерит event "$file_path created" и ложите его в очередь.
- С другой стороны очереди работают консюмеры, очень простые обертки над ffmpeg на высокоуровневом языке, на питоне например. Которые с некоторой задержкой приходят в новый файл и смотрят его парамеры. Файл к слову может иметь любой формат в рамках поддерживаемого ffmpeg, в отличии от вкоряченого костыля. В том числе может быть вообще не видео файлом. Полученые параметры записываются в базу данных: redis/memcached и т.д.
- nginx получает запрос на скачивание файла, ищет параметры шейпинга в своем кеше, если не находит забирает их из базы за rtt до неё, ложит в кешь, шейпит. Не находит данных в базе - применяет описаное дефолтное поведение, например скорость больше чем требуется 99% файлов.
Что в этом сложного?
Все работает быстро, скейлится до бесконечности, не зависит от форматов файлов.
Ты ни разу не разрабатывал ПО? Не понимаешь что часто нужно жертвовать (только кажущимся) удобством в пользу архитектуры, в пользу общих переиспользуемых и ограниченых подходов, вместо решения здесь и сейчас (плевать что будет завтра)?> почему бы действительно вместо того чтобы просто не взять параметры прямо из файла - не встраивать в веб-сервер взаимодействие с какими-то базами и еще какой-то отдельно кэш?!
Потому что это универсальный механизм относительно любых форматов файлов (а не костыль для какого-то одного), это существенно уменьшает уровень абстракций, это делает ПО поддерживаемым и имеющим шансы на будущее.
Все веб серверы УЖЕ УМЕЮТ общаться с тем же redis. Потому что таким образом проще всего добиться динамичекого поведения (а уж кеш имеют и подавно). Можешь посмотреть например, что представляет из себя протокол того же redis 5. Он настолько простой, что пользоваться им можно используя /dev/tcp client в bash.
Сейчас они в веб сервере реализовывают парсинт форматов видео файлов для конфигурирования шейпера под всеобщее улюлюкание. Завтра это импортозащекченное нечто принудительно начнет шейпить в зависимости от отношения передаваемого содержимого к рюсиюшке, правящей партии и прочей сиюминутной конъюнктуре. Это определенно не то и не в том месте поведение которого мы ожидаем.> Попутно озадачив пользователя микроменеджментом этого всего вручную.
Если пользователь что-то хочет делать руками - это его право. Он в любом ПО найдет эту возможность.
> Представим следующий пайплайн:
> - Загрузка файла на сервер тригерит event "$file_path created" и ложите его
> в очередь.А если вообще нет никакой "загрузки на сервер" ?
> - С другой стороны очереди работают консюмеры, очень простые обертки над ffmpeg
> на высокоуровневом языке, на питоне например. Которые с некоторой задержкой приходяти кто их должен писать?
> параметры записываются в базу данных: redis/memcached и т.д.
теперь нам надо следить за актуальностью, поддерживать, резервировать, а попутно ты выбрал как раз те две которые неперсистентны и при плановом апгрейде сервера - что? А если файликов пол-миллиончика?
> - nginx получает запрос на скачивание файла, ищет параметры шейпинга в своем
> кеше, если не находит забирает их из базы за rtt до
> неё, ложит в кешь, шейпит. Не находит данных в базе -теперь у нас в nginx зависимость от базы данных, миллион костыликов чтоб не упереться в локи и не повиснуть нахрен если база затупила или до нее легла связность... Плюс еще одни кэши которые теперь ЕЩЕ раз надо валидировать, вовремя экспайрить, которые долго прогреваются. Вот здорово, вот красота-то какая!
> Что в этом сложного?
действительно...
> Потому что это универсальный механизм относительно любых форматов файлов (а не костыль
жаль что он вероятно совсем никому не нужен.
В отличие от вполне понятного даже васянскому локалхостеру желания прирезать аппетиты автоскачивальщикам в пользу тех кто просто смотрит онлайн и не ковыряться вручную измеряя битрейт (кстати, интересно что будет если он переменный).
> Все веб серверы УЖЕ УМЕЮТ общаться с тем же redis. Потому что
вовсе нет.
Зачем вебсерверу - какой-то там redis?У nginx был когда-то какой-то редис-модуль, но он для автоматического кэширования, а не хранения произвольных переменных, кроме того он 3d party и какой-то совсем ужасно васянский (у него и memcache был странен и всегда проигрывал кэшированию на стороне приложений - хотя казалось бы, как).
В любом случае нахрена мне еще и редис сдался если я держу сервер для раздачи статических видеофайлов?
А вот парсер mp4 в сервере таки есть, по другому не работает таймлайн - браузер хочет начало фрейма (или секунду? Я уже забыл у кого секунды а у кого фреймы, у адоба и гугля сделано разумеется нарочно по-разному) а не просто случайный оффсет из середины потока.
> Если пользователь что-то хочет делать руками - это его право. Он в
ты совершенно вправе пердолиться с редисом и мемкэшом ради банального авторейтлимита.
Но боюсь наш гений совтваре девелопмента не умеет кодить и модуля универсального-редис-рейтлимитера мы от него не дождемся.Хотя возможно такой и был бы востребован. Но явно реже чем модуль mp4 не требующий никаких внешних костылей и подпорок.
К чему многобукв? Это модуль, не хотите не пользуйтесь
Приближался 24-ый год, а кто-то все боится что у них mp4 с сервера выкачают.
> Приближался 24-ый год, а кто-то все боится что у них mp4
> с сервера выкачают.гугель такой - подержи мое пиво!
Нжинкс сам мышей давно не ловит, а тут ещё и форк.
форк нафиг не нужен а оригинал вполне рабочая лошадка
Нтлм научилсь проксить? Если нет, то смысла нет.
нда... уровень опеннета.
Ну ладно, может просто не заметили посреди срачей?Кто-нибудь mp4_start_key_frame - вот эту хрень понимает как она вообще работает?
вроде работает только при наличии query параметров start и/или end и обеспечивает начало куска с ключевого кадра, ну или хитрым способом (внутрь формата не заглядывал) отдаёт первый предыдущий ближайший и потом сдвигает начало на нужно времяскажу сразу без понятия что за плееры так делают
Любой нормальный браузер. ФФ глюк, любой ффмпег и т.д.
> вроде работает только при наличии query параметров start и/или end и обеспечивает
> начало куска с ключевого кадра, ну или хитрым способом (внутрь формата
> не заглядывал)Вот мне и интересно - кто заглядывал и понимает как это работает.
(вот я т-поватый http/1.0 плейер и пришел с банальным GET start=гдетотам, и рассчитываю получить в морду mp4 frame, чего ж еще-то c content-type video/mpeg4, а мне ЧТО приедет-то вместо/вместе?)> скажу сразу без понятия что за плееры так делают
ну написано вроде что Браузер, а остальные, собственно, не очень и нужны, но понять бы какой ценой и насколько оно глубоко лезет в формат.
А, как занятно, там не фрейм, там nginx на самом деле дофига всего делает.Отдается полноценный mp4 файл со всеми moov и прочими заголовками, не голый поток фреймов, при любом start=
Ну соответственно, заодно добавляется и edts блок.Т.е. этот модуль гораздо сложнее чем казалось на первый взгляд.
Да, как-то так и есть. В nginx plus это уже давно есть, они, видимо, просто повторили то, что уже делали, но с достаточным количеством отличий, чтобы F5 не засудил. Хотя пока они за пределы российского рынка не суются, никто судиться и не будет
Типа ты такой старый что доку осилить уже не можешь? Это надо для совместимых плееров чтобы передавать http://example.com/elephants_dream.mp4?start=238.88 а сам параметр это булиан он или офф.
нет. Следующий!
По сути это генерация метаданных с edit-list на лету. Браузер, который их понимает, будет проигрывать не со start, а с указанной позиции (и осмысленно как раз указать на первый после start= кейфрейм).
там забавнее - на первый до. И отдельная фича чтоб на экран при этом юзеру ничего до старта не показывать.Как обычно, работает нормально только в Браузере (а... как будто у нас еще какие-то пользователи есть).
С другой стороны - я ни разу не видел никаких проблем без этой фичи. Возможно потому что не пользовался Браузером.
Если открыть поток в vlc с рандомного офсета, там будет либо то, что было до прокрутки, либо зелёный экран - с разводами дельт, пока не попадется кейфрейм. Выглядит криповато.В браузерах такого не замечал.
> В браузерах такого не замечал.вот и я тоже. Но может надо было Браузером пользоваться, а я пока с видео игрался, в основном использовал palemoon или обычную мразилу. Наверное они просто тормозят видео пока не доберутся до keyframe.
Посмотрел внимательно, да, именно ДО, и обсчет без отображения до стартовой позиции. Ну это хорошо, если канал широкий, для ощущения срабатывания в реальном времени. Особенно если видео довольно статическое и кейфреймы относительное редкие. Но, как по мне, слишком сложная заморочка по сравнению с достигаемым эффектом.
это хорошо для попадания в нужное место таймлайна, а не куда-то туда.
Но видимо нужен специфический контент, где действительно мало кифреймов и реально можно попасть мимо.Видимо, мой не подходит.
Функциональность побочная в модулях, а не в самом вебсервере. Не хочешь - не собирай. В nginx тоже очень много модулей, сильно расширяющих его вплоть до сервера приложений или платформы стриминга. Никто не заставляет все это компилить, если нужен только вебсервер.
Я может секрет открою, но в умолчательном нжинксе из репозиториев обычно собрана целая куча ненужного. Если хочется "ничего лишнего", замучаешься писать --without-*-module.
>В nginx тоже очень много модулей, сильно расширяющих его вплоть до сервера приложений или платформы стриминга.Что такое "сервер приложений"?
NGINX Unit
Юнит - это менеджер для всяких mod_* и *gi зверей. А я о встройке приложений прямо в nginx.
OpenResty - сервер приложений lua.
> Я может секрет открою, но в умолчательном нжинксе из репозиториев обычно собрана целая куча ненужного.и это ты еще убунточки не видел, где ДВА ненужникса в суппозитории, и ОБА собраны э... причудливо - т.е. "depends of" пакеты с кучей стремных, странных и совершенно казалось бы ненужных веб-серверу статики модулей.
Причем не смотря на динамическую линковку - зависимость прибита гвоздем и без какого-нибудь "echo" (кто и нахрена вообще это ненужейшее из ненужного использует?) даже nginx-minimal не ставится.
nginx всю жизнь либо сам собирал, либо из репозиториев проекта, где все по уму сделано.
Так и не понял кто в них инвестировал миллион долларов. Российские налогоплательщики?
ныкаемся, ныкаемся пацанчики - расследователи из [запрещенная тираристическая организация] в треде!Там, кстати, все очень, очень интересно - есть некая маалельная такая раиссьская компания с названием "Вепп-Сервер" (да!) учиненная в виде ООО с уставным капиталом аж 500000 ржублей.
Ты тоже мог бы так!
А кто инвесторы и откуда - большой-большой секрет.
Что-то разит от этого всего - за версту.
Как и от команды из пяти тимлидов последние успехи коих на почве реального писания кодинга уходят куда-то в 2007й год.(правда, фичи коммерческого нжинкса которые они "повторяют", примерно тех же времен)
>Ты тоже мог бы так!Да в принципе мог бы. Денег в стране много. Программисты есть.
Работаю в галере, директор хрен с горы, бывший похапешник. Подряды серьезные. Никаких там особых связей нет.>А кто инвесторы и откуда - большой-большой секрет.
Забыли перед тобой отчитаться, забыли. Бида-бида.
Если компания частная и закрытая, никто ни перед кем отчитываться не обязан. Очевидно же, что заинтересованные в продукте компании и профинансировали. Какие это компании могут быть? Банки, интеграторы, холдинги типа мейла. Что тебе лично даст точное знание списка заказчиков? Вонять в интернете будешь? Ну так ты и без списка это можешь делать.
>>Ты тоже мог бы так!
> Да в принципе мог бы. Денег в стране много. Программисты есть.там нет программистов, одни эффективные менеджеры. Денег в стране так много, что в дефолтсити даже перестали заливать все пешеходные тропки химикалиями в пять слоев. Впервые с 2014го года. Про урезание расходов на медицину и социалку уже не говорю.
Но есть и хорошие новости - из Турции на поджопниках возвращаются 50000 релокантов. И еще 100000 приготовитсо - турки перестали продлевать ВНЖ. Шах и мат, поганые нацпредатели! БУДЕТЕ работать на ВПК! Яйтса по 150 ржублей сами себя не купят.
> Очевидно же, что заинтересованные в продукте компании и профинансировали. Какие это компании
> могут быть?и зачем они шифруются а не наоборот, с помпой и криками ура - мы финансируем НАШЕ!?
Но помпы и криков нет. Попахивает-с, попахивает-с.
Ну не рубли ж они инвестировать будут. В чисто РОССИЙСКИЙ продукт, да.
да ладно, брось, там вон одного неуставного капитала пицоттыщ этих самых ржублей. С каждого пацана по стольнику сняли в этот общак, небось!
стесняюсь, но спрошу, а кроме s,ngx,angie,g там что-то есть? я про модули модсек-коннектора, headers_more, к примеру
> стесняюсь, но спрошу, а кроме s,ngx,angie,g там что-то есть? я про модули
> модсек-коннектора, headers_more, к примеруну ты ж все равно читать не умеешь, к чему тогда спрашивать?
s,nginxPro,angie,g там
судя по тому что я за 2 дня читаю про nginxPro 2ой раз (первый раз не в браузере), читать не умеешь именно ты, но продолжай блистать "интеллектом"
Российский форк? А первоначальный nginix не Россияне начали создавать?
Вы не понимаете современного смысла термина «российский». Новый «москвич» вон тоже российский.
> Вы не понимаете современного смысла термина «российский». Новый «москвич» вон
> тоже российский.ну прекратите же очернять напропалую - уж к ЭТОМУ уродцу россияне никакого отношения никогда не имели.
Там, наверное, даже шильдик в китае заказан.
А прикручен-то где? Вооот.
Ну и о не уродец в общем-то, норм за свою цену (то есть за JAC, а не за Москвич).
> Ну и о не уродец в общем-то, норм за свою ценуты цену-то на него с шильдиком видал? А за ввоз неположеного шильдика - заплатишь пару миллионов "утилизационного сбора".
Естественно, имеется в виду цена без накрутки.
блин, ну зачем мне JAC в китае...
Я не хочу в китай!
на дромру появился тест. Не, чувак, даже за два ляма - это п-ц какой-то.Минус подшипник (хорошо не на ходу!) минус коробка (!) и "в двигателе кокойты звук" - за 50000км.
Настоящее российское качество!
Так в Китае она и не два ляма.
Причём не удивлюсь, если лаоваям сплавляют второй сорт (а китайцы могут, у них-то фантазий насчёт совместной дружбы нет).
ну даже и полтора - все равно ж это п-ц какой-то.
И вряд ли прям делят на сорта - это ж надо как-то уметь их отличить, а если б умели - проще было бы дефективные детали выкинуть еще на заводе.https://www.drom.ru/info/moskvitch/3/ - наслаждайся.
Российский программист Игорь Сысоев начал разработку Nginx в 2002 году.
> Российский программист Игорь Сысоев начал разработку Nginx в 2002 году.его пытались найти и покарать, но он как-то так получилось - ушел от ответственности. А потом и вовсе растворился в воздухе.
Там ещё хуже было, его с собаками днём с огнём по тундре искали. Не нашли, как под землю провалился.
А потом известное дело Трампа и стало не до него. Я уж и не говорю как в этой истории замешана Бритни.А так да, растворился в воздухе.
Люди добрый, помогите пожалуйста!
Был сайт на одном сервере, перенесли сервер на другой. На этом сайте всплывающий час с клиентом до работал, теперь перестал. Может кто подскажет как починить?
Консоль в хроме постоянно сыпет ошибками
WebSocket connection to 'wss://адрес сайта/websocket' failed:
Рамблер хоть деньгами помогает поддерживать проект?
> HTTP/3 определяет использование протокола QUIC (Quick UDP Internet Connections) в качестве транспорта для HTTP/2.Эмммм нет. То есть да, транспортный уровень HTTP/3 это конечно QUIC, но то что поверх это не HTTP/2. Похоже, но не оно. Говорю как человек, который дорисовывает RFC9297 нашей внутренней либе.
Почему в порты до сих пор не засабмитили обнову?
> Nginx - Сопровождением разработки занимается компания "Веб-сервер",
> MS-Office - сопровождением заняты сотрудники компании "МойОфис"
> Linux - сопровождением занят "АльтЛиниукс"
> Смартфон - сопровождением занята компания "МойСмартфон"
> Postgre - сопровождением занята компания "БазаДанных"
круто - халявщиков сколько