Возможно у вас в DevTools браузера, стоит галочка "Disabled Cache"by S.A.N - Nginx Mailing List - Russian
> Решение о push'е принимается при генерации HTML-ответа за запрос к > странице. > В этот момент доступны If-None-Match и/или If-Modified-Since только > самой страницы и странно ориентироваться на них, так как они ничего не > говоряby S.A.N - Nginx Mailing List - Russian
> В крайнем случае несложно пометить клиента стандартным способом через > cookie. Советую смотреть не на куки, а на наличия клиенских заголовков - If-None-Match и/или If-Modified-Since, только при отсутствии или не валидности данныхby S.A.N - Nginx Mailing List - Russian
> Единственный правильный способ тестирования - тестирование на реальных > нагрузках со своими собственными приложениями и задачами. Согласен, но это делают потом, на ранней стадии тестят синтетикой, просто чтобыby S.A.N - Nginx Mailing List - Russian
Сделал простой бенчмарк (wrk -c 50 -d 30s -t 50 http://127.0.0.1) вашего Hello World примера https://www.nginx.com/blog/nginx-unit-1-5-available-now/#go-node-js-applications И сравнил с HTTP сервером что мы юзаем (uWebSockets) Результаты: Unit - Requests/sec: 17384 uWebSockets - Requests/sec: 112328 Я это пиby S.A.N - Nginx Mailing List - Russian
> Есть сервис Pusher, который позволяет раздавать потоки по WebSocket. > Никакой инфраструктуры не нужно. Подозреваю там есть прямые и обратные Так мы тоже самое получаем безплатно и без сторонних сервисов, простой надстрby S.A.N - Nginx Mailing List - Russian
> Что мешает реализовать данную функциональность в приложении? > Например, используя тот же упомянутый uWebSockets.js? Нам мешают те же причины что у вас, бизнесу выгодно чтобы мы писали больше бизнес логики и меньше писаby S.A.N - Nginx Mailing List - Russian
> кеше битые обрезанные файлы, при использовании на бэкенде gzip, тот же > баг Попробуйте выключить настройку в конфигt Nginx sendfile off; Нам это помогло.by S.A.N - Nginx Mailing List - Russian
> Пока не планируем. Ясно, но тогда вот что выходит, тем кому нужен WebSocket, как правило нужен broadcast и возможностость подписать одного клиента к множеству каналов. Эти задачи уже успешно решены в nchan (модуль Nginx) и для Node.jsby S.A.N - Nginx Mailing List - Russian
> для мобильных клиентов есть (уже) TLS1.3 + early data, TFO (tcp fast > open). > пользуетесь ? TLS1.3 - да early data, TFO - нет, у нас проблема с частыми обрывами конекта в WebSocket, мобил клиенты этому сильно подвержены, из-за TCP...by S.A.N - Nginx Mailing List - Russian
Возможно я не нашел, но в данной версии нет возможности broadcast каналов? Когда одно сообщения передается множеству WebSocket клиентов и как одного клиента подписать на множество каналов? Этого нет в текущей версии или вы не пby S.A.N - Nginx Mailing List - Russian
В вашей дорожней карте, для ветки 1,17 есть в планах имплементация QUIC (HTTP/3), какие ваши оценки по времени это будет готово в этом году. И если не сложно скажите как вам QUIC там реально много профита для мобил клиентов, у нас оby S.A.N - Nginx Mailing List - Russian
> Тем временем, мы продолжаем трудиться над поддержкой WebSocket для > модулей > Node.js и Java. Все почти готово; шансы на то, что это войдет в > следующий > выпуск - очень велики. Возможно уже есть документация и открытоеby S.A.N - Nginx Mailing List - Russian
> RFC 8441, Но > это, скажем так, выглядит как хак, при этом малосовместимый с > существующей логикой работы через Upgrade, и имеет мало шансов > быть поддержанным.) Есть реализация (клиент и сервер) https://github.com/warmcat/libwebsockeby S.A.N - Nginx Mailing List - Russian
> Я не слежу за разработкой PHP, но если вы по прежнему наблюдаете > проблему - можно предположить, что баг в PHP так и не поправили, и > fastcgi_finish_request() пользоваться не стоит. Да, у нас это была одна из причин, уйти от FPM, иby S.A.N - Nginx Mailing List - Russian
> Я заметил, что вы много всего просите, а могли бы стать нашим > крупнейшим > клиентом и тем самым влиять на ход разработки тех или иных > возможностей, > как в nginx, так и в Unit. Разработка обходится совсем не бесплаby S.A.N - Nginx Mailing List - Russian
> поддержкой WebSockets, гибкой маршрутизацией запросов и выдачей статического контента. Этого действительно не хватает в Unit. НТТР кеширования, как в Nginx, тоже уже в разработке?by S.A.N - Nginx Mailing List - Russian
> Но к вебсокетам все это никакого отношения не имеет, не так ли? Да, вы правы, мой ответ был в контексте НТТР запросов. Польза для WebSocket использовать сокет Н2, в том что он будет держать открытым сокет, который использby S.A.N - Nginx Mailing List - Russian
> От самого мультиплексирования на уровне приложения приемуществ особых > нет, > больше недостатков. Судите сами, на уровне приложения (браузера) сейчас есть два варианта: НТТР 1х - лимит 8 открытых сокетов на 1 хоby S.A.N - Nginx Mailing List - Russian
> А в чём преимущества HTTP2 для Вас? Вы пробовали делать замеры, > сравнивающие HTTP2 с HTTP1.1? Для нас преимущество только в мультиплексировании, других преимуществ нет, у нас просто много параллельных ajax запросов, НТby S.A.N - Nginx Mailing List - Russian
> Если/когда появится стандарт > и реализации в браузерах - посмотрим. Это уже работает в Chrome 66 (Canary) и Firefox разрабатывает реализацию, судя по всему браузеры пришли к консенсусу в этом вопросе. > Хотя вот лично мне -by S.A.N - Nginx Mailing List - Russian
Chrome, реализовал WebSockets поверх HTTP/2 https://tools.ietf.org/html/draft-ietf-httpbis-h2-websockets-00 https://www.chromestatus.com/feature/6251293127475200 Есть в планах Nginx, реализации проксирование WebSockets поверх HTTP/2?by S.A.N - Nginx Mailing List - Russian
> Push cache очищается при закрытии > соединения, но все элементы при первом использовании браузером будут > помещены в http cache, так что всё нормально. > Подробнее здесь: > https://jakearchibald.com/2017/h2-push-tougher-than-i-thought/ Если ресby S.A.N - Nginx Mailing List - Russian
> Не совсем понял ваши слова про "не кешируемый контент". По спецификации НТТР 2, браузер push ответы могут кешировать только в отдельном кеше соединенния (смотрите на connection_id в devtools), после закрытия соединения кешby S.A.N - Nginx Mailing List - Russian
Я не вижу большой пользы от push, очень редкий случай когда нужно отправить дополнительный не кешируемый контент без запросов, или я ошибаюсь, вы можете перечислить свои use case? Спасибо.by S.A.N - Nginx Mailing List - Russian
> Иными словами сервис - это более узкий термин, определяющий выполняемую приложением роль. > Возможно он идеально подходит для systemd, но я бы не стал называть большинство веб-приложений сервисами. Я абсолютно согласby S.A.N - Nginx Mailing List - Russian
> Как по вашему, firefox - это сервис или приложение? Можете обосновать > почему? Я же не ради холивара это писал :) Клиентские GUI приложения сервисами сложно назвать, но для меня: PHP-FPM - это сервис Node.js - это сервис Python WSGIby S.A.N - Nginx Mailing List - Russian
Всех с наступающим НГ. Много раз себя ловил на мысли когда смотрел на JSON конфиг Unit, почему вы решили сервисы называть application? Я понимаю что NGINX Unit - это Application Server, но уже устоялись такие понятия как microservice, которые частоby S.A.N - Nginx Mailing List - Russian
> С точки зрения практики - паттерн "daemon(); write_pidfile();" > используется чуть менее, чем везде, вплоть до соответствующих > библиотечных функций. Так что инициатива выглядит, скажем так, > сомнительной. > > Прby S.A.N - Nginx Mailing List - Russian
> Возможно. Я отправил его коллегам на review, если возражений не > будет - закоммичу. Спасибо!by S.A.N - Nginx Mailing List - Russian