Редбеан 2.0 је платформа за веб апликације упакована у универзалну извршну ЗИП архиву

Представљено је издање пројекта Редбеан 2.0, који нуди веб сервер који вам омогућава да испоручите веб апликације у облику универзалне извршне датотеке која се може извршити на Линук, Виндовс, МацОС, ФрееБСД, НетБСД и ОпенБСД. Сви ресурси повезани са веб апликацијом и сервером су састављени у једну извршну датотеку, која је компатибилна са форматом ЗИП архиве и омогућава вам да користите зип услужни програм за додавање додатних датотека. Могућност покретања једне датотеке на различитим оперативним системима и њеног препознавања као ЗИП архиве постиже се манипулацијом заглавља извршних датотека и повезивањем са стандардном Ц библиотеком за више платформи Цосмополитан. Шифра пројекта се дистрибуира под ИСЦ лиценцом.

Идеја пројекта је да се обезбеди једна извршна датотека „редбеан.цом“ са уграђеним веб сервером. Програмер веб апликација може да користи зип услужни програм да дода ХТМЛ и Луа датотеке у ову датотеку и добије самосталну веб апликацију која ради на свим популарним оперативним системима и не захтева посебан веб сервер за рад на систему.

Након покретања резултирајуће извршне датотеке, уграђени веб сервер се користи за приступ веб апликацији сачуваној у датотеци. Подразумевано, руковалац је везан за лоцалхост, али сервер се такође може користити као обичан јавни веб сервер (на пример, овај сервер служи веб локацији пројекта). Уграђени веб сервер подржава ХТТПС приступ и може се извршити коришћењем изолације сандбок-а, што вам омогућава да контролишете којим системским интерфејсима се приступа. За контролу рада сервера током његовог извршавања обезбеђен је интерактивни РЕПЛ интерфејс (заснован на Луа РЕПЛ и библиотеци бестлине, аналог ГНУ Реадлине), који омогућава интерактивну промену стања процеса.

Тврди се да је веб сервер способан да обради више од милион захтева у секунди на обичном рачунару, опслужујући гзип компримовани садржај. Оно што помаже перформансама је то што зип и гзип користе заједнички формат, тако да се подаци сервирају без поновног паковања из већ компримованих области у зип датотеци. Поред тога, пошто је извршни фајл креиран коришћењем статичког повезивања и мале је величине, позивање виљушке на њему уводи мало или нимало меморије.

Поред обраде статичког веб садржаја и извршавања ЈаваСцрипт-а у претраживачу, логика веб апликације може се проширити коришћењем скрипти у Луа, Фуллмоон веб оквира и СКЛите ДБМС-а. Додатне карактеристике укључују подршку за шему хеширања лозинке аргон2, могућност одређивања ИП региона помоћу МакМинд базе података и приступ Уник АПИ-ју библиотеке Цосмополитан. Величина основног стека, који укључује веб сервер, МбедТЛС, Цосмополитан, Луа и СКЛите, је само 1.9 МБ.

Универзална извршна датотека се формира комбиновањем сегмената и заглавља специфичних за различите оперативне системе (ПЕ, ЕЛФ, МАЦХО, ОПЕНБСД, ЗИП) у једној датотеци. Да би се осигурало да једна извршна датотека ради на Виндовс и Уник системима, трик је у кодирању Виндовс ПЕ датотека као схелл скрипте, користећи предност чињенице да Тхомпсон Схелл не користи маркер скрипте „#!“. Резултат је извршна датотека која комбинује неколико различитих формата који се користе у Линук-у, БСД-у, Виндовс-у и мацОС-у. $ цурл хттпс://редбеан.дев/редбеан-демо-2.0.7.цом >редбеан.цом $ цхмод +к редбеан.цом $ зип редбеан.цом хелло.хтмл $ зип редбеан.цом хелло.луа $ ./редбеан .цом -вв И2022-06-23Т08:27:14+000767:редбеан] (срвр) слушај хттп://127.0.0.1:8080 >: чекам команду… $ цурл хттпс://127.0.0.1:8080/хелло .хтмл хелло $ принтф 'ГЕТ /хелло.луа\н\н' | нц 127.0.0.1 8080 здраво



Извор: опеннет.ру

Додај коментар