Доступна новая версия утилиты для получения и отправки данных по сети - curl 7.66.0, предоставляющей возможность гибкого формирования запроса с заданием таких параметров, как cookie, user_agent, referer и любых других заголовков. cURL поддерживает HTTP, HTTPS, HTTP/2.0, SMTP, IMAP, POP3, Telnet, FTP, LDAP, RTSP, RTMP и другие сетевые протоколы. Одновременно вышло обновление параллельно развиваемой библиотеки libcurl, предоставляющей API для задействования всех функций cURL в программах на таких языках, как Си, Perl, PHP, Python...Подробнее: https://www.opennet.ru/opennews/art.shtml?num=51540
> Добавлены параметры "-Z список URL" ("--parallel") и "--parallel-max", позволяющие организовать одновременную загрузку списка URL в несколько потоков;Какие поводы пользоваться aria2 остались?
Закачка torrent?
не только лишь торрент, но и другие p2p
Качать один большой файл в несколько потоков.
За это прекратили банить? Серьёзно, я это уже лет 15 не пробовал.
большинство - прекратили, поскольку количество этих идиотов упало до околонулевого, они мешают уже только себе самим.впрочем, в некоторых других местах банют теперь за попытки получения контента в обход прекрасного модного сайта, и неважно, сколько там потоков.
> За это прекратили банить? Серьёзно, я это уже лет 15 не пробовал.Просто обнуляют заголовок Range, через который реализуется параллельное скачивание.
Переполнение с помощью этого заголовка находили и в apache, и в nginx. И, скорее всего, ещё не раз найдут.
д-лы, мля :-(> Переполнение с помощью этого заголовка находили и в apache, и в nginx.
я бы на их месте зобанил себе апач и нхинх - в них еще много чего находили - и, уверен, еще найдут.
очень вредные и опастные программы. пользуйтесь netcat. А запросы принимайте почтой. Бумажной, конечно, какой еще email - в нем опастносте!
> д-лы, мля :-(Прежде чем делать такие суждения, вы бы хотя бы задачей поинтересовались.
Например, в абсолютном большинстве случаев для REST API Range нафиг не упал.
Нет, не банят. Я так на GitLab всякие дистрибутивы качаю. Если с сорсфорджа - то можно распараллелить ещё и по зеркалам. С Qt тоже работает.
Качать в несколько потоков с разных источников же
"в 2k19" это имеет хоть малейший смысл?Источники того, что можно качать с разных - обычно не на сто мегабит к сети-то подключены. Так что все упрется в твой домашний линк, проданый тебе с оверсабскрайбом раз этак в 200.
Хотя насчет сорсфоржа и не уверен, может они там инфраструктуру и не обновляли двадцать лет. С другой стороны, а и что с них качать такого большого? Старинные исходники обычно невелики.
Образы дистрибутивов, например. Или очередную версию LibreOffice. Особенно, если есть metalink. Там и зеркала, и параллельность, и проверка хэша после загрузки.
Ну все, пора уже делать HTTP/2 deprecated. Оставлять только HTTP/1.1 и HTTP/3
Так и будет. Гугель сам понял, что получилась хня, а кроме него эта оверинжиниранная хрень вряд ли кому надо
А http3 - не хня что ли?
Нет конечно. Там же еще в 2 раза больше оверинжиниринга благодаря божественному QUIC. А новый комбайн отменяет старый, я ведь так говорю?
Наверное, пещерному человеку с каменным топором вся современная цивилизация показалась бы одним сплошным и ненужным оверинжинирингом.
> Наверное, пещерному человеку с каменным топором вся современная цивилизация показалась
> бы одним сплошным и ненужным оверинжинирингом.с вашими сравнениями можно и до одноклеточных дойти;)
Одноклеточным ничего не кажется, они не настолько оверинжинирены)
> Одноклеточным ничего не кажется, они не настолько оверинжинирены)Они не только оверинжинирены, они еще и монолитный комбайн
Стара песня от коженного мешка с раковыми клетками
Зачем мелочиться?
Да, непонятно, зачем нужна поддержка HTTP/1.1)
кастрюлькоголовых-то неонационалистов, я смотрю, вообще ничего не пугает - спешат обмазаться всем новеньким, невзирая на запах, когда бы тут успевать посмотреть, чем это "новенькое" замечательно и так ли уж - чего там, давай, намазывай гуще, пока тепленькое!
> Появилась возможность запуска в окружении Plan 9Ну наконец то!
Когда nginx научится http/3 делать? Есть подозрения, правда, что не скоре, http/2 тоже не сразу появился там, а без веб-сервера какая разница, что умеют клиенты?
https://www.opennet.ru/openforum/vsluhforumID3/118512.html#64
> HTTP/3 запланирован в 1.17.x и точно появится в течение ближайшего года, может быть даже быстрее, полгода.А вот в апаче это может вообще не появится, как и 0-RTT.
Значит в апаче будет через нжинкс. =)
> Значит в апаче будет через нжинкс. =)Только зачем тогда апач вообще будет нужен?
или те, кто знают, зачем им апач - прекрасненько обойдутся без обоих ненужно
Зачем нужен апач в 2к19 — ни для кого не секрет. Legacy типа шаредов, завязанные на .htaccess.
для этого как раз - особо уже не нужен. .htaccess имеет смысл когда ему разрешено что-то менять в поведении сервера. А для shared это гарантированно ведет к катастрофе. Начиная прямо с банального rewrite.
Лет 15 назад видел шареды, дающие клиентам менять htaccess. Valuehost, Majordomo навскидку. Естественно, с ограниченным AllowOverride. И ничего, жили как-то.
ну а сейчас поживут вообще без htaccess'ов. (впрочем, какое там "сейчас" - те твои пятнадцать лет назад уже был их закат)потому что один хрен любой дрюпал норовит напихать рерайтов, а уж модные-современные, с единственным на весь сайт файлом 'index.php'...
при этом ни в каких других фичах htaccess эти модные-современные и не нуждаются, именно потому что там один файл. И страница у них тоже одна-единственная.
А ретроградам делают за дополнительные $15 фичу "хостинг дрюпалок", try files, иначе index.php. Нестандартрые рерайты - э...а! во! пусть index.php им рерайтит (и он так делает - на каждый tumbnail1234.jpg).
в общем, для как раз массхостингов - апач те лет пятнадцать уже как не особо нужен, от него там больше проблем чем пользы. Ты не хочешь просыпаться в три утра, выяснять что там особо одаренные юзвери наменяли, как мы это делали.
А если оставишь им только безобидные оверрайды - они ими и пользоваться не будут (потому что и не умеют, и зачем им? там только deny all для ~/bitrix/ из полезного - а это просто выносится в нескучный интерфейс очередной "панели").
что довольно обидно, потому что апачем 2.4 уже снова относительно можно стало пользоваться, в отличие от того ужаса ужасного, который был между 1.3 и ним. Но...сколько новых модулей ты к нему видел за последние лет пять?
Завтра 1.17.4 выходит но пока без http/3 (просто исправление бага в http/2 редкого) :(
И будет очень правильно. Место QUIC - на фронтендах.
Чё ты несёшь?
Он не несёт, он капитанит.
> А вот в апаче это может вообще не появится, как и 0-RTT.А сейчас им кто-то пользуется, кроме shared-хостингов, оставшихся с 90-х годов?
Отдельно стоящим мало кто, а вот в связке с nginx сотни тысяч.(Связка nginx + Apache уступает nginx php-fpm только тем что больше памяти потребляет, но если в сервере памяти хоть попой ешь то связка nginx + apache очень даже осмыслена - быстродействие не хуже и есть свои плюсы).
> быстродействие не хужеСсылки на бенчмарк?
Анонс был, в ближайшие год-два
> Когда nginx научится http/3 делать? Есть подозрения, правда, что не скоре, http/2 тоже не сразу появился там, а без веб-сервера какая разница, что умеют клиенты?HAProxy и Traefik до сих нормально в HTTP/2 не научились.
https://github.com/haproxy/haproxy/issues/172
https://github.com/haproxy/haproxy/issues/139
https://github.com/containous/traefik/issues/906
А насколько это нужно, если они умеют проксить TCP и UDP?
Тот же gRPC (наверное, основной юзкейс для HTTP/2) проксировать как TCP — крайне паршивая идея, ведущая к разбалансу нагрузки на бэк, особенно если клиентов немного.
Я пробовал это делать через IPVS (фактически легковесный аналог L4 proxy) и через Envoy (полноценный L7 прокси, который агрегирует запросы из всех потоков и всех соединений, и раскидывает их по бэкам в соответствии с правилами привязки). IPVS ожидаемо слился.
HAProxy и Traefik по вышеописанным причинам до теста не дошли, а nginx нужные нам правила привязки умеет только в платной версии, которая нифига не три копейки стоит.
Можно попробовать мозилловский neqo — там клиент и сервер. На расте :)
Пока они firefox полностью на расте не переписали — отношусь к нему с недоверием. Если сапожник не носит изготовленные им сапоги — это намекает.
Firefox не будет полностью на расте никогда. Firefox выкинут.
Откровенно говоря это боль. Особенно их geckodriver - редкая глючная помойка которая то сама закрэшит, то браузер потеряет
Хорошая мысль! Каковы объёмы файлов на разных языках в ~1800M исходников ночных сборок? Для определённости — b338d55d5007ce5a7d4cdce3aaa8e9f63c5555f7.find . -iname '*.rs' -print0 | du --files0-from=- -hc | tail -n1
74M total
find . -iname '*.cpp' -print0 | du --files0-from=- -hc | tail -n1
153M total
find . -iname '*.hpp' -print0 | du --files0-from=- -hc | tail -n1
6,6M total
find . -iname '*.c' -print0 | du --files0-from=- -hc | tail -n1
101M total
find . -iname '*.h' -print0 | du --files0-from=- -hc | tail -n1
148M totalА что ещё занимает больше 10М?
.a 105M
.binjs 33M
.c 101M
.cc 54M
.cpp 153M
.dat 12M
.fax 41M
.h 148M
.html 357M
.icns 12M
.inc 12M
.ini 49M
.java 26M
.jpg 12M
.js 429M
.jsm 16M
.json 47M
.map 14M
.mp4 29M
.png 46M
.py 62M
.req 31M
.rs 74M
.sam 24M
.sqlite 12M
.svg 24M
.ttf 29M
.txt 113M
.ucm 18M
.wasm 11M
.webm 11M
.woff 11M
.xht 63M
.xhtml 13M
.xml 20M
.xxd 28M
.zip 20MИтого, объём оставшихся C и C++ в сумме чуть больше объёма джаваскрипта и в 6 раз больше объёма Раста.
> Хорошая мысль! Каковы объёмы файлов на разных языках в ~1800M исходников ночныхХм
echo ".a 105M
.binjs 33M
.c 101M
..." | awk '{sum+=$2}END{printf "sum:" sum}'
sum:2260echo "find . -iname '*.rs' -print0 | du --files0-from=- -hc | tail -n1
74M total
..." |awk '{sum+=$1}END{printf "sum:" sum}'
sum:482,6awk 'BEGIN{print (2260 + 482)/146*100}'
1878,08
В сумме получаем ~2742МБ или ~146% – это так и задуманно было? ;)tokei -s code /tmp/firefox-68.1.0esr.source (для читаьельности пропущен через numfmt --to=si)
-------------------------------------------------------------------------------
Language Files Lines Code Comments Blanks
-------------------------------------------------------------------------------
JavaScript 65003 7,0M 4,6M 1,5M 1,1M
C++ 11214 5,5M 4,2M 613K 751K
Plain Text 5167 3,8M 3,8M 0 0
HTML 70849 3,7M 3,3M 134K 353K
C 4066 2,8M 2,1M 403K 313K
C Header 15134 3,2M 1,9M 852K 445499
Rust 5130 1,9M 1,5M 263K 149K
Python 6903 1,6M 1,2M 111K 246K
JSON 1708 969K 969K 0 0
Java 3032 551K 350K 130K 72K
Assembly 539 298K 249K 16K 33K
XML 1790 247K 232K 4,8K 10K
INI 10469 231K 176K 1,8K 53K
SVG 4414 172K 144K 19K 8,5K
ReStructuredText 911 125K 125K 0 0
C++ Header 718 140K 111K 16K 13536
CSS 1473 135K 107K 8,7K 20K
Markdown 912 96K 96K 0 0
YAML 1197 92K 85K 2,2K 4,6K
Shell 694 94K 66K 16K 13K
Objective-C++ 279 79K 57K 9,2K 1,3K
выхлоп cloc вместе с диаграммками есть тут:
https://fossies.org/linux/www/firefox-68.1.0esr.source.tar.x...
> В сумме получаем ~2742МБ или ~146% – это так и задуманно было?
> ;)Видимо, du округлял размер вверх до кратного размеру кластеров.
никто не в курсе, когда опубликуют спеки HTTP/4? Третья версия хороша, но надо двигаться дальше, в этом и состоит развитие
Http4 будет без tcp/udp
> Http4 будет без tcp/udpа http5 будет без ip, поверх какого-нибудь gp (думаю что значит буква g сами догадаетесь)
GNU?
Думаешь, с уходом Столмана дела пойдут НАСТОЛЬКО лучше?
В смысле, Google поглотит GNU?
Я думаю, гугл расширит практику нумераций версий, опробованную на хроме, и уже в следующем году будет внедряться http/50.
QUIC transport proto сейчас уже 23-й версии https://datatracker.ietf.org/doc/draft-ietf-quic-transport/В среднем выпускают по одной версии в два месяца. Именно поэтому полноценная ядерная поддержка в любой ОС (Linux, Windows, Mac, iOS etc) вряд ли когда-нибудь появится. Как говорят ребята из Google "да, мы знаем, что юзерспейсная реализация тормозит, но нам постоянно нужно менять протокол, а вычислительные мощности — не проблема (для нас)".
Надеюсь, им с таким же энтузиазмом будут добавлять дрова под котел в Аду.
мне кажется, они на это и надеются - а там то "новый сорт дров несовместим и не помещается под котлом", то "отличная концепция, дрова из дерьма Левиафана, его тут завались, но пока не придумали как поджечь, оно ж жидкое", то котел с дыркой снизу и донышком сверху...но хрен им там - будут сидя на раскаленных кольях (я не люблю ломать людям старые привычки к чему-то там в заднице) кодить мою меганавороченную систему сбора бигдаты о взаимодействии различных грехов - непосредственно в процессе их совершения.
Надеюсь, одновременно с X12.
X12 — это комплексная переменная, состоящая из действительной (wayland) и мнимой ("ideal" X11-like X12). Действительную часть пилят, мнимую — мнят.
Вот про эту идеальную и речь.
Когда там уже эту "действительную" часть допилят? Пока оно застряло в состоянии почти вот уже скоро чуть-чуть и может быть однажды полной готовности, превращаясь при этом в такой набор костылей, что иксы нервно курят в сторонке.
> такой набор костылей, что иксы нервно курят в сторонке.Нет, иксы — это идеальное и непревзойдённое ведро спагетти-кода. Даже ребятам из 1С его не уделать.
> Nobody wants to say how this works. Maybe nobody knows ...
© man xorg.conf
Не, гугл умеет делать хорошие вещи, спору нет. k8s, grpc, вот это всё.
Но QUIC — это явная попытка упростить жизнь гугловым бэкендщикам за счёт порчи жизни простым пользователям, особенно на мобилках. Тяжёлая и тормозная юзерспейсная махина (поддержка на уровне ядра нереальна, это rolling proto), к тому чувствительная к порядку получения пакетов (что не гарантируется в беспроводных сетях).
> rolling protoРазве её не заморозило принятие стандарта HTTP/3?
А когда его приняли? Новая версия QUIC (23) вышла в этом месяце.
этот мужик сам на повросы в мэйллистах отвечает. респектище ему.
сама либа конечно старовата и тянет архитектурные неудобства, но а что поделать. альтернативы нет.
честно говоря да, вроде умеет много всего. но такая неудобная, что поверх этой либы еще либу писать надо.
Не вижу особой проблемы. Нормальная либа на конечном автомате, максимально быстрая и универсальная. Отличный и понятный апи, хорошая документация и примеры. Когда мне нужно что-то, выполняющее типовые запросы с некоторыми параметрами в больших количествах, я пишу простенькую обёртку-хелпер, совершающую определённые действия в зависимости от ответа, и не имею проблем. Удачно тебе рассосаться, дружище!
>> FTP-KRB (kerberos over FTP)кто-либо юзал этого зверюгу?
Почему тогда сразу не HTTP over Ethernet?
ты всегда можешь присвинячить pam-модуль к любому ftpd, который вообще поддерживает pam (то есть - к любому кроме виндовых ;-) - но зачем?Тебе помимо особенностей самого ftp потребуется постоянный доступ разом клиента и сервера еще и к kerberos серверу, это все обычно выполнимо только в корпоративных сетях, где есть файлопомойки попроще и поудобнее ftp...