Famoahana JavaScript Node.js 17.0 amin'ny lafiny server

Navoaka ny Node.js 17.0, sehatra iray hampandehanana ny rindranasa tambajotra amin'ny JavaScript. Node.js 17.0 dia sampana fanohanana tsy tapaka izay hanohy handray fanavaozana hatramin'ny Jona 2022. Amin'ny andro ho avy dia ho vita ny fanamafisana ny sampana Node.js 16, izay hahazo ny sata LTS ary tohanana hatramin'ny aprily 2024. Ny fikojakojana ny sampana LTS taloha an'ny Node.js 14.0 dia haharitra hatramin'ny aprily 2023, ary ny taona talohan'ny sampana LTS farany 12.0 hatramin'ny aprily 2022.

Fanatsarana lehibe:

  • Ny motera V8 dia nohavaozina ho version 9.5.
  • Nitohy ny fampiharana ireo variana amin'ny API fototra mifototra amin'ny fampiasana ny interface informatika asynchronous Promise. Ho fanampin'ireo API Timers Promises and Streams Promises efa natolotra teo aloha, Node.js 17.0 dia mampiditra ny Readline Promise API amin'ny famakiana andalana andalana amin'ny fampiasana ny maody readline. import * toy ny readline avy amin'ny 'node:readline/promises'; import {stdin as input, stdout as output} avy amin'ny 'process'; const rl = readline.createInterface({ input, output }); const answer = miandry rl.question('Inona no hevitrao momba ny Node.js?'); console.log('Misaotra noho ny valin-teninao: ${valiny}'); rl.close();
  • Ny tranomboky OpenSSL nomena dia nohavaozina ho version 3.0 (ampiasaina ny quictls/openssl fork miaraka amin'ny fanohanana protocol QUIC).
  • Navelan'ny Node.js aseho amin'ny tsipika an-tampon'ny vokatra raha misy lesoka mahafaty izay mampitsahatra ny fampiharana.

Fanampin'izany, azontsika atao ny manonona ny fanafoanana ireo vulnerabilities roa amin'ireo sampana amin'izao fotoana izao amin'ny Node.js (CVE-2021-22959, CVE-2021-22960), izay ahafahana manao fanafihana β€œHTTP Request Smuggling” (HRS), izay mamela anay hiditra ao anatin'ny votoatin'ny fangatahan'ny mpampiasa hafa nokarakaraina ao amin'ny kofehy mitovy eo anelanelan'ny frontend sy backend (ohatra, ny code JavaScript manimba dia azo ampidirina amin'ny session'ny mpampiasa hafa). Ny antsipiriany dia hambara any aoriana, fa amin'izao fotoana izao ihany no fantatsika fa ny olana dia vokatry ny tsy fahampian'ny fikarakarana ny habaka eo anelanelan'ny anaran'ny lohatenin'ny HTTP sy ny colon, ary koa ny fikarakarana samihafa ny fiverenan'ny kalesy sy ny tsipika famahanana tsipika ao amin'ny sakana parameter ampiasaina rehefa mandefa. ny vatana fangatahana amin'ny ampahany amin'ny mode "chunked" "

Aoka hotsaroantsika fa ny sehatra Node.js dia azo ampiasaina amin'ny fanohanan'ny mpizara ny rindranasa an-tranonkala sy amin'ny famoronana programa tambajotra mpanjifa sy mpizara. Mba hanitarana ny fampandehanan-draharahan'ny fampiharana ho an'ny Node.js, dia efa nomanina ny famoriam-bola be dia be, izay ahitanao ny maody miaraka amin'ny fampiharana ny HTTP, SMTP, XMPP, DNS, FTP, IMAP, mpizara POP3 sy mpanjifa, modules ho an'ny fampidirana. miaraka amin'ny rafi-tranonkala isan-karazany, WebSocket sy Ajax mpitantana , mpampitohy amin'ny DBMS (MySQL, PostgreSQL, SQLite, MongoDB), maotera mΓ΄dely, motera CSS, fampiharana ny algorithm kriptografika sy rafitra fanomezan-dΓ lana (OAuth), XML parsers.

Mba hiantohana ny fanodinana ny fangatahana mifanitsy amin'ny maro, Node.js dia mampiasa maodely famonoana kaody asynchronous mifototra amin'ny fikarakarana hetsika tsy manakana sy ny famaritana ireo mpandrindra antso. Ny fomba tohana ho an'ny fifandraisana multiplexing dia epoll, kqueue, /dev/poll, ary safidio. Ho an'ny fifandraisana multiplexing dia ampiasaina ny tranomboky libuv, izay add-on ho an'ny libev amin'ny rafitra Unix sy IOCP amin'ny Windows. Ny tranomboky libeio dia ampiasaina hamoronana dobo filomanosana, ary ny c-ares dia ampidirina amin'ny fanaovana fanontaniana DNS amin'ny fomba tsy manakana. Ny antson'ny rafitra rehetra mahatonga ny fanakanana dia atao ao anatin'ny dobo filomanosana ary avy eo, toy ny mpikirakira famantarana, dia mamindra ny vokatry ny asany amin'ny alalan'ny fantsona tsy fantatra anarana (sodina). Ny famonoana ny kaody JavaScript dia omena amin'ny alΓ lan'ny fampiasana ny motera V8 novolavolain'ny Google (ankoatra izany, Microsoft dia mamolavola dikan-teny Node.js miaraka amin'ny motera Chakra-Core).

Amin'ny fotony, ny Node.js dia mitovitovy amin'ny Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks, ary ny fampiharana hetsika Tcl, fa ny tadivavarana hetsika ao amin'ny Node.js dia miafina amin'ny mpamorona ary mitovy amin'ny fikarakarana hetsika amin'ny fampiharana tranonkala mihazakazaka. amin'ny navigateur. Rehefa manoratra rindranasa ho an'ny node.js ianao dia mila mandinika ny mombamomba ny fandaharana entin'ny hetsika, ohatra, fa tsy manao "var result = db.query("select..");" miaraka amin'ny fiandrasana ny fahavitan'ny asa sy ny fanodinana vokatra manaraka, ny Node.js dia mampiasa ny fitsipiky ny famonoana asynchronous, i.e. ny kaody dia ovaina ho "db.query("select..", asa (vokatra) {fikarakarana ny vokatra});", izay ny fanaraha-maso dia handalo avy hatrany amin'ny code fanampiny, ary ny valin'ny fangatahana dia hokarakaraina rehefa tonga ny data.

Source: opennet.ru

Add a comment