Mwepụta nke ikpo okwu JavaScript n'akụkụ sava Node.js 17.0

Node.js 17.0, ikpo okwu maka ngwa netwọkụ na-agba ọsọ na Javascript, ka ewepụtara. Node.js 17.0 bụ ngalaba nkwado oge niile ga-aga n'ihu na-enweta mmelite ruo June 2022. N'ụbọchị na-abịa, a ga-emecha nkwụsi ike nke ngalaba Node.js 16, nke ga-enweta ọkwa LTS ma kwado ya ruo Eprel 2024. Nlekọta nke ngalaba LTS gara aga nke Node.js 14.0 ga-adịru ruo Eprel 2023, yana afọ tupu alaka LTS ikpeazụ 12.0 ruo Eprel 2022.

Isi nkwalite:

  • Emelitere injin V8 ka ọ bụrụ ụdị 9.5.
  • Mmejuputa ụdịdị dị iche iche nke API bụ isi dabere n'iji ngwa mgbako asynchronous nkwa na-aga n'ihu. Na mgbakwunye na nkwa ndị Timers na iyi iyi API nke enyere na mbụ, Node.js 17.0 na-ewebata API Nkwa Readline maka ịgụ ahịrị data site na ahịrị site na iji modul readline. mbubata * dị ka akara ọgụgụ si 'node: readline/ nkwa'; mbubata {stdin dị ka ntinye, stdout dị ka mmepụta} si 'usoro'; const rl = readline.createInterface ({ntinye, mmepụta}); azịza const = chere rl. ajụjụ ('Gịnị ka ị chere Node.js?'); console.log('Daalụ maka nzaghachi gị bara uru: ${answer}'); rl. nso ();
  • Emelitela ọbaakwụkwọ OpenSSL ewepụtara ka ọ bụrụ ụdị 3.0 (a na-eji ndụdụ quctls/openssl nwere nkwado protocol QUIC).
  • Kwanyere ụdị Node.js ka egosipụta n'ọkpụkpụ nchịkọta nke ewepụtara ma ọ bụrụ na enwere mperi na-egbu egbu na-eme ka ngwa ahụ kwụsị.

Ọzọkwa, anyị nwere ike ikwu maka mkpochapụ nke adịghị ike abụọ na ngalaba Node.js ugbu a (CVE-2021-22959, CVE-2021-22960), nke na-eme ka o kwe omume ịme mwakpo "HTTP Request Smuggling" (HRS), nke. nye anyị ohere ịbanye n'ime ọdịnaya nke arịrịọ ndị ọrụ ndị ọzọ edoziri n'otu eri n'etiti ihu na azụ azụ (dịka ọmụmaatụ, enwere ike itinye koodu Javascript ọjọọ n'ime nnọkọ onye ọrụ ọzọ). A ga-ekpughe nkọwa ma emechaa, mana ugbu a naanị anyị maara na nsogbu ndị a na-ebute site na njikwa oghere na-ezighi ezi n'etiti aha isi HTTP na colon, yana njikwa dị iche iche nke nloghachi ụgbọ ala na akara ndepụta akara na nchikota nke ejiri mgbe a na-ebufe. ahụ arịrịọ na akụkụ na ọnọdụ "chunked"

Ka anyị cheta na enwere ike iji ikpo okwu Node.js ma maka nkwado nkesa nke ngwa Weebụ yana maka ịmepụta mmemme netwọk nke ndị ahịa na nkesa. Iji gbasaa ọrụ ngwa maka Node.js, a kwadebere nnukwu nchịkọta modul, nke ị nwere ike ịchọta modul na mmejuputa HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 sava na ndị ahịa, modul maka ntinye. dị iche iche web frameworks, WebSocket na Ajax handlers , njikọ na DBMS (MySQL, PostgreSQL, SQLite, MongoDB), template engines, CSS engines, mmejuputa iwu nke cryptographic algọridim na ikike usoro (OAuth), XML parsers.

Iji hụ na nhazi nke ọnụ ọgụgụ dị ukwuu nke arịrịọ ndị yiri ya, Node.js na-eji ụdị mmebe koodu asynchronous dabere na njikwa mmemme anaghị egbochi yana nkọwa nke ndị na-ahụ maka oku. Ụzọ ndị akwadoro maka njikọta multiplexing bụ epoll, kqueue, /dev/poll, wee họrọ. Maka njikọta multiplexing, a na-eji ọbaakwụkwọ libuv, nke bụ mgbakwunye maka libev na sistemụ Unix yana IOCP na Windows. A na-eji ọba akwụkwọ libeio mepụta ọdọ mmiri eri, yana c-ares jikọtara ya iji mee ajụjụ DNS na ọnọdụ anaghị egbochi. A na-egbu oku sistemu niile na-akpata igbochi n'ime ọdọ mmiri eri ahụ wee, dị ka ndị na-ahụ maka mgbaàmà, nyefee nsonaazụ nke ọrụ ha site na ọkpọkọ akpọghị aha. A na-enye mmezu nke koodu Javascript site na iji igwe V8 nke Google mepụtara (na mgbakwunye, Microsoft na-emepụta ụdị Node.js na Chakra-Core engine).

Na isi ya, Node.js yiri Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks, na mmejuputa mmemme Tcl, ma ihe omume ahụ na Node.js zoro ezo site na onye mmepụta ma yiri njikwa ihe omume na ngwa weebụ na-agba ọsọ. na ihe nchọgharị. Mgbe ị na-ede ngwa maka node.js, ịkwesịrị ịtụle nkọwa nke mmemme na-eme ihe omume, dịka ọmụmaatụ, kama ime "var result = db.query("họrọ .");" na ichere maka mmecha ọrụ na nhazi nke nsonaazụ, Node.js na-eji ụkpụrụ nke mkpochapụ asynchronous, ya bụ. A na-agbanwe koodu ahụ ka ọ bụrụ "db.query ("họrọ ..", ọrụ (nsonaazụ) {nhazi nsonaazụ});", nke njikwa ga-agafe ngwa ngwa gaa na koodu ọzọ, a ga-ahazi nsonaazụ ajụjụ ka data rutere.

isi: opennet.ru

Tinye a comment