Redbean 2.0 ipuratifomu yewebhu maapplication akaiswa mune yepasirese inotepfenyura ZIP archive.

Kuburitswa kweiyo Redbean 2.0 purojekiti inoratidzwa, ichipa webhu server iyo inokutendera iwe kuendesa webhu zvikumbiro nenzira yefaira repasi rose rinogoneka rinogona kuitwa paLinux, Windows, MacOS, FreeBSD, NetBSD uye OpenBSD. Zvese zviwanikwa zvine chekuita newebhu application uye sevha zvinounganidzwa kuita faira rimwechete rinogoneka, rinoenderana neZIP archive fomati uye inobvumidza iwe kushandisa zip utility kuwedzera mamwe mafaera. Iko kugona kumhanyisa faira rimwe pane akasiyana maOS uye kuita kuti rizivikanwe seZIP dura rinowanikwa nekugadzirisa zvinogoneka faira misoro uye kubatanidza neakawanda-chikuva akajairwa C raibhurari Cosmopolitan. Iyo kodhi yeprojekiti inogoverwa pasi peISC rezinesi.

Pfungwa yepurojekiti ndeyekupa faira rimwechete rinogoneka "redbean.com" ine yakavakirwa-mukati webhu server. Mugadziri wewebhu anogona kushandisa zip utility kuwedzera HTML neLua mafaera kune iyi faira uye kuwana yega-ine yewebhu application inomhanya pane ese anozivikanwa masystem masisitimu uye haidi yakaparadzana webhu server kuti imhanye pahurongwa.

Mushure mekutangisa iyo inokonzeresa faira, yakavakirwa-mukati sevha yewebhu inoshandiswa kuwana iyo webhu application yakachengetwa mufaira. Nekutadza, mubati anosungirirwa kune localhost, asi sevha inogona zvakare kushandiswa seyakajairika yeruzhinji webhu server (semuenzaniso, iyi sevha inoshandira webhusaiti yeprojekiti). Iyo yakavakirwa-mukati sevha yeWebhu inotsigira HTTPS kuwana uye inogona kuurayiwa uchishandisa sandbox yekuzviparadzanisa nevamwe, iyo inokutendera iwe kudzora kuti ndeapi masisitimu interfaces anowanikwa. Kuti udzore kushanda kwesevha panguva yekuitwa kwayo, inopindirana REPL interface inopiwa (zvichienderana neLua REPL uye iyo bestline raibhurari, analogue yeGNU Readline), izvo zvinoita kuti zvikwanise kushandura mamiriro emaitiro akabatana.

Zvinonzi sevha yewebhu inokwanisa kugadzirisa zvinopfuura miriyoni zvikumbiro pasekondi paPC yakajairwa, ichishandira gzip-yakadzvanywa zvemukati. Chinobatsira kuita ndechekuti zip uye gzip dzinoshandisa fomati yakajairwa, saka data inoshumirwa pasina kudzokororwa kubva kunzvimbo dzakatomanikidzwa muzip faira. Pamusoro pezvo, sezvo izvo zvinogoneka zvinogadzirwa uchishandisa static yekubatanidza uye idiki muhukuru, kudaidza forogo pairi kunosuma zvishoma kundangariro pamusoro.

Pamusoro pekugadzirisa static web content uye kuita JavaScript mubrowser, iyo web application logic inogona kuwedzerwa uchishandisa zvinyorwa muLua, iyo Fullmoon web framework uye SQLite DBMS. Zvimwe zvinhu zvinosanganisira kutsigirwa kweargon2 password hashing scheme, kugona kuona IP dunhu uchishandisa MaxMind dhatabhesi, uye kuwana iyo Unix API yeCosmopolitan raibhurari. Saizi yeyakakosha stack, iyo inosanganisira webhu server, MbedTLS, Cosmopolitan, Lua uye SQLite, ingori 1.9 MB.

Iyo faira yepasirese inogadziriswa inoumbwa nekubatanidza zvikamu uye misoro yakananga kune akasiyana masisitimu anoshanda (PE, ELF, MACHO, OPENBSD, ZIP) mune imwe faira. Kuve nechokwadi chekuti faira rimwechete rinogoneka rinomhanya paWindows uye Unix masisitimu, hunyengeri ndeyekukodha Windows PE mafaera seganda script, kutora mukana wekuti Thompson Shell haashandise iyo "#!" script marker. Mhedzisiro iyi faira rinogoneka rinosanganisa akati wandei mafomati anoshandiswa muLinux, BSD, Windows uye macOS. $ curl https://redbean.dev/redbean-demo-2.0.7.com >redbean.com $ chmod +x redbean.com $ zip redbean.com hello.html $ zip redbean.com hello.lua $ ./redbean .com -vv I2022-06-23T08:27:14+000767:redbean] (srvr) teerera http://127.0.0.1:8080 >: kumirira murairo… $ curl https://127.0.0.1:8080/hello .html mhoro $ printf 'GET /hello.lua\n\n' | nc 127.0.0.1 8080 mhoro



Source: opennet.ru

Voeg