
Stanislav
07.02.2017
20:26:54
разве что это может быть быстрее

Zart
07.02.2017
20:26:55

Stanislav
07.02.2017
20:27:13
ну или понял больше чем ты
непонятно пока что :3

Google

Igor
07.02.2017
20:27:32
(он вроде wsgi никак не подключает же?)

Denis
07.02.2017
20:27:55
Zope

Zart
07.02.2017
20:28:05
в зопу давно всги сервер завезли

Cykooz
07.02.2017
20:29:17
Zope
Енто вообще был сервер приложений, и в текущей версии оно как раз WSGI

Zart
07.02.2017
20:29:50
я так-то имел в виду скорее черри и аспен (или то был коген)

Stanislav
07.02.2017
20:30:03
если бы ты не гордился знаниями питоностека вообще а подумал зачем питону свой личный гейтвей интерфейс вообще разговор был бы проще

Zart
07.02.2017
20:30:20

Stanislav
07.02.2017
20:30:31
и зачем ? хоть одну причину назови
оно быстрее чем парсить хттп средствами питона ?

Zart
07.02.2017
20:31:09
т.е. пеп не читал, но вместе со всем советским народом осуждает
иди парси

Google

Stanislav
07.02.2017
20:32:20
ок читаю пеп. "спиздили из жавы"
вау импульсы от слова УНИВЕРСАЛЬНОСТЬ

Zart
07.02.2017
20:33:35
до всги был с десяток фреймворков
после всги их стали сотни
но плюс всги не в этом

Stanislav
07.02.2017
20:33:54
есть еще такая статья https://ef.gy/fastcgi-is-pointless

Zart
07.02.2017
20:34:53
нет
до тебя доходит что это описание точки входа в питон для хттп?
можно было б конечно наваять чтото типа
def app(inputstream, errorlog):
return stream('HTTP/1.0 200 OK\nFuck: you\n\nHello, world!\n')
и ебитесь с парсингом хттп вручную
ну или придумай модель - реализуй на практике - и предложи народу как альтернативу

Denis
07.02.2017
20:37:26
А http/2 в bytes напрямую возвращать?

Stanislav
07.02.2017
20:37:37

Zart
07.02.2017
20:37:40
скорее всего тебя все пошлют нахуй

Stanislav
07.02.2017
20:38:08

Zart
07.02.2017
20:38:13
всги был именно про стыковку питона с вебприложениями с одной стороны и серверов (не обязательно питоновых) с другой
хттп парсинг при этом обычно уже произошел в вебсервере
так как тому обычно приходится зачастую решать - будет ли он его вообще скармливать конкретному приложению или отработает сам

Chikiro
07.02.2017
20:39:34

Zart
07.02.2017
20:39:46
в общем сравнивать всги и хттп напрямую просто смешно
фастцги как протокол не особо нужен, да. просто он решал некоторые проблемы - такие как мультиплексирование и передача по юникс-сокетам тогда, когда хттп эту задачу не решал

Google

Stanislav
07.02.2017
20:40:48
ну почему то в go/rust/cpp ничего похожего на всги не изобрели

Denis
07.02.2017
20:41:20
Много сайтов на cpp написано?

Zart
07.02.2017
20:41:33
в C/C++ это пачка SAPI - NSAPI, ISAPI
поверх этих апи нынче живут такие вещи как пхп и асп.нет 8)
перл скопировал идею в свой псги
го изначально нацелен на асинк, а всги крайне паршиво ложится на асинк
раст слишком низкоуровневый имхо
да и не слишком я в курсе чо там у них

Cykooz
07.02.2017
20:44:04
Кстати, а есть PEP на асинхронный аналог WSGI? Мне почему то кажется, что я слышал про это, но с первого раза не гуглится.

Zart
07.02.2017
20:44:11
пепа нет
какие-то асинковые экстеншены есть тут и там
https://mail.python.org/pipermail/web-sig/2008-May/003423.html
что такое летало, в общем, но вроде дальше идей не двигалось
в отличие от всги мира - асинронщики друг с другом не дружат от слова "совсем" же
если лупы разные, то привет

Cykooz
07.02.2017
20:45:40
Хм, странно - тут все страдали что в aiohttp якобы парсер http медленый, пытались его заменить на что то. Авторы потыкались, и забили - сказали что им и так хватает.
Вот если бы запилили асинхронный WSGI, можно было бы переложить парсинг HTTP на внешний веб-сервер.

Zart
07.02.2017
20:45:58
асинкио и начался как попытка решить грабли этой интеграции фундаментально
ну прикинь сам - коллбаки и дефереды твистеда, корутины асинкио, гринлеты ивентлета, каналы стаклесса...

Stanislav
07.02.2017
20:47:52
только гринлеты ивентлета, только молодость

Zart
07.02.2017
20:47:52
каждый требует своего подхода к реализации, своего ивент лупа/реактора, разные подходы к йелду управления, вот это всё
код под один асинк фреймворк тупо не будет работать в другом
я могу обернуть джангу в пастеровские мидлвари, и прикрутить фласковый дебаггер. и всё будет жить и работать

Google

Stanislav
07.02.2017
20:49:15
ну стаклес нельзя вообще рассматривать как питон

Zart
07.02.2017
20:49:26
пока асинк фундаментально не придёт в общему знаменателю, единого асинк веб-апи под него не будет

Cykooz
07.02.2017
20:49:45
Ну вроде проблему разного асинка они надеюсь решат через asyncio, но это более общая задачка. Я то именно про http говорю, оно то для них всех одно и то же, и если бы было что то вроде WSGI, то это бы могло решить проблему меделного парсера в питоне.

Zart
07.02.2017
20:49:51
я просто привел один из примеров радикально разных решений конкуренси в питоне
так нихуя ж не одно и то же..

Stanislav
07.02.2017
20:50:30
чтото мне не верится что там медленный парсер

Cykooz
07.02.2017
20:50:48
Ну, так то пожалуй да - точка входа для этого AWSGI должна же быть "корутиной"

Zart
07.02.2017
20:51:15
а твистоёбы с их коллбаками будут страдать и оборачивать это в очередной тредпул 8)

Cykooz
07.02.2017
20:51:30

Zart
07.02.2017
20:51:52
ну а другие бенчмарк дрочеры запилили весь асинк в сях и получили лям рпс

Stanislav
07.02.2017
20:52:21
потом добавили вызов одной питон функции и скатили до 1к

Cykooz
07.02.2017
20:52:31

Zart
07.02.2017
20:52:56
в современных браузерах он включен
но в половине проксей он зарублен

Stanislav
07.02.2017
20:53:33
короче кроме универсальности всги ничего не дает
нет ну на самом деле глупо было бы реально фреймворку работать на уровне хттп в том мире который мы видим сейчас, но меня посмешило что асинкио именно так и работает, да

Zart
07.02.2017
20:54:44
асинкио это сетевой фреймворк. он по определению работает на сокетах и посылках/потоках поверх них

Cykooz
07.02.2017
20:55:40
Ну и ещё оно позволило вынеси парсинг HTTP из питона (если конечно веб-сервер сам не на питоне)

Zart
07.02.2017
20:55:53
аиохттп - реализация хттп протокола поверх
его надо сравнивать не с всги, а с хттплиб и урллиб

Eugine
07.02.2017
20:56:23

Google

Cykooz
07.02.2017
20:57:13

Zart
07.02.2017
20:58:46
авсги должен определить чтото вроде входящего реквеста - запрос+заголовки+входнойпоток и как фреймворк должен сгенерить выходной поток для респонса
теперь влейте в эту кашу поддержку 100-Continue, chunked encoding, websockets, http/2...
и вы заебетесь
до кучи не забудьте SSL/TLS со SNI
йа кончел

Stanislav
07.02.2017
21:00:22
это может делать и делает сейчас нжинкс

Zart
07.02.2017
21:00:35
какое он отношение имеет к чему либо?

Stanislav
07.02.2017
21:00:41
ну нжинкс общается с гункорнами на примитивном хттп

Zart
07.02.2017
21:00:47
...
нет, ну ему только что битый час объясняли разницу между onwire протоколом и апи... но он ебанутый

Cykooz
07.02.2017
21:01:48
Меня тут кстати несколько удивило в WSGI то, что приложение (application) должно быть глобальной переменной, а не например функцией, которая возвращает это приложение. Как они вообще такое придумали?

Chikiro
07.02.2017
21:02:08
В документации к django-channels есть драфт ASGI http://channels.readthedocs.io/en/stable/asgi.html

Cykooz
07.02.2017
21:03:02
Вернее я давно знал что WSGI нужна глобальная переменная, но только недавно спотнулся об это, когда увидел что pytest "сканирует" мой wsgi.py файлик, и тем самым запускает создание приложения.

Zart
07.02.2017
21:03:41
нахуй нужны SAX, DOM, когда есть готовый хмл...
как именно найти/создать всги коллабл - это детали реализации, и их дохера

Cykooz
07.02.2017
21:05:03

Zart
07.02.2017
21:05:40
всги приложением может быть и функция и тип
спека даже приводит примеры

Stanislav
07.02.2017
21:06:21