Redbean 2.0 yog lub platform rau cov ntawv thov web ntim rau hauv universal executable ZIP archive

Qhov kev tso tawm ntawm Redbean 2.0 qhov project tau nthuav tawm, muab lub vev xaib server uas tso cai rau koj xa cov ntawv thov web hauv daim ntawv ntawm cov ntaub ntawv universal executable uas tuaj yeem ua tiav ntawm Linux, Windows, MacOS, FreeBSD, NetBSD thiab OpenBSD. Tag nrho cov peev txheej cuam tshuam nrog daim ntawv thov lub vev xaib thiab cov neeg rau zaub mov tau muab tso ua ke rau hauv ib qho kev ua tiav cov ntaub ntawv, uas yog sib xws nrog ZIP archive hom thiab tso cai rau koj siv lub zip utility ntxiv cov ntaub ntawv ntxiv. Lub peev xwm los khiav ib cov ntaub ntawv ntawm cov OSes sib txawv thiab kom nws lees paub tias yog ZIP archive yog ua tiav los ntawm kev tswj cov ntaub ntawv ua tiav thiab txuas nrog ntau lub platform tus qauv C tsev qiv ntawv Cosmopolitan. Txoj haujlwm code raug faib raws li daim ntawv tso cai ISC.

Lub tswv yim ntawm qhov project yog muab ib cov ntaub ntawv executable "redbean.com" nrog lub web server built-in. Tus neeg tsim tawm lub vev xaib tuaj yeem siv lub zip utility ntxiv HTML thiab Lua cov ntaub ntawv rau cov ntaub ntawv no thiab tau txais ib daim ntawv thov lub vev xaib uas ua haujlwm ntawm txhua qhov kev ua haujlwm nrov thiab tsis tas yuav muaj lub vev xaib sib cais los khiav ntawm lub kaw lus.

Tom qab tso tawm cov ntaub ntawv ua tau tiav, lub vev xaib ua haujlwm tau siv los nkag rau hauv daim ntawv thov lub vev xaib khaws cia hauv cov ntaub ntawv. Los ntawm lub neej ntawd, tus neeg tuav haujlwm txuas nrog localhost, tab sis tus neeg rau zaub mov kuj tuaj yeem siv los ua lub vev xaib pej xeem tsis tu ncua (piv txwv li, tus neeg rau zaub mov no ua haujlwm rau lub vev xaib lub vev xaib). Lub Web server built-in txhawb HTTPS kev nkag thiab tuaj yeem ua tiav siv kev cais sandbox, uas tso cai rau koj los tswj cov kev sib txuas ntawm qhov twg. Txhawm rau tswj kev ua haujlwm ntawm tus neeg rau zaub mov thaum nws ua tiav, kev sib tham sib REPL interface yog muab (raws li Lua REPL thiab lub tsev qiv ntawv zoo tshaj plaws, ib qho analogue ntawm GNU Readline), uas ua rau nws muaj peev xwm hloov lub xeev ntawm cov txheej txheem sib tham sib.

Nws tau thov tias lub vev xaib server muaj peev xwm ua tiav ntau tshaj li ib lab thov ib ob ntawm lub PC tsis tu ncua, pabcuam gzip-compressed cov ntsiab lus. Dab tsi pab kev ua tau zoo yog tias zip thiab gzip siv ib hom ntawv, yog li cov ntaub ntawv tau txais kev pab yam tsis tau rov qab los ntawm qhov chaw compressed hauv cov ntaub ntawv zip. Tsis tas li ntawd, txij li qhov kev ua tiav tau tsim los siv kev sib txuas zoo li qub thiab me me, hu rau rab rawg ntawm nws qhia me ntsis kom tsis muaj lub cim xeeb nyiaj siv ua haujlwm.

Ntxiv rau kev ua cov ntsiab lus hauv lub vev xaib zoo li qub thiab ua tiav JavaScript hauv qhov browser, lub vev xaib thov kev xav tuaj yeem nthuav dav siv cov ntawv sau hauv Lua, Fullmoon lub vev xaib thiab SQLite DBMS. Cov yam ntxwv ntxiv muaj xws li kev txhawb nqa rau argon2 lo lus zais hashing scheme, lub peev xwm los txiav txim siab IP thaj av siv MaxMind database, thiab nkag mus rau Unix API ntawm lub tsev qiv ntawv Cosmopolitan. Qhov loj ntawm cov pawg hauv paus, uas suav nrog lub vev xaib server, MbedTLS, Cosmopolitan, Lua thiab SQLite, tsuas yog 1.9 MB.

Cov ntaub ntawv universal executable yog tsim los ntawm kev sib txuas ntu thiab cov ntsiab lus tshwj xeeb rau cov kev khiav hauj lwm sib txawv (PE, ELF, MACHO, OPENBSD, ZIP) hauv ib cov ntaub ntawv. Txhawm rau kom ntseeg tau tias ib qho kev ua tiav ib leeg khiav ntawm Windows thiab Unix systems, qhov ua kom yuam kev yog txhawm rau nkag mus rau Windows PE cov ntaub ntawv raws li daim ntawv plhaub, ua kom zoo dua qhov tseeb tias Thompson Plhaub tsis siv lub cim "#!". Qhov tshwm sim yog cov ntaub ntawv ua tiav uas sib txuas ntau hom ntawv siv hauv Linux, BSD, Windows thiab 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) listen http://127.0.0.1:8080 >: tos command… $cur https://127.0.0.1:8080/hello .html nyob zoo $ printf 'GET /hello.lua\n\n' | nc 127.0.0.1 8080 hello



Tau qhov twg los: opennet.ru

Ntxiv ib saib