د سرور اړخ JavaScript Node.js 17.0 خوشې کول

Node.js 17.0، په جاواسکریپټ کې د شبکې غوښتنلیکونو چلولو لپاره یو پلیټ فارم، خپور شو. Node.js 17.0 د ملاتړ منظم څانګه ده چې د جون تر 2022 پورې به د تازه معلوماتو ترلاسه کولو ته دوام ورکړي. په راتلونکو ورځو کې، د Node.js 16 څانګې ثبات به بشپړ شي، کوم چې به د LTS حیثیت ترلاسه کړي او د اپریل تر 2024 پورې به یې ملاتړ وشي. د Node.js 14.0 پخوانۍ LTS څانګې ساتل به د اپریل تر 2023 پورې دوام وکړي، او د وروستي LTS څانګې 12.0 څخه مخکې کال تر اپریل 2022 پورې.

اصلي پرمختګونه:

  • د V8 انجن 9.5 نسخه ته تازه شوی.
  • د ژمنې اسینکرونوس کمپیوټري انٹرفیس کارولو پراساس د لومړني API ډولونو پلي کول دوام لري. د مخکیني وړاندیز شوي ټایمر ژمنې او سټریمز ژمنې APIs سربیره ، Node.js 17.0 د ریډ لاین ماډل په کارولو سره د کرښې په واسطه د ډیټا لاین لوستلو لپاره د ریډ لاین وعدې API معرفي کوي. وارد کړئ * د 'نوډ: readline/ ژمنو' څخه د لوستلو لاین په توګه؛ وارد کړئ { stdin د داخلې په توګه، stdout د محصول په توګه } د پروسې څخه؛ const rl = readline.createInterface({input,output}); const ځواب = انتظار وکړئ rl.question('تاسو د Node.js په اړه څه فکر کوئ؟'); console.log('ستاسو د ارزښتناکو نظرونو لپاره مننه: ${answer}'); rl.close();
  • چمتو شوی د OpenSSL کتابتون 3.0 نسخه ته تازه شوی دی (د QUIC پروتوکول ملاتړ فعال شوي quictls/openssl فورک کارول کیږي).
  • د Node.js نسخه فعاله کړه ترڅو په سټیک ټریسونو کې ښکاره شي کوم چې د وژونکي غلطیو په صورت کې تولید کیږي چې د غوښتنلیک د پای ته رسیدو لامل کیږي.

برسیره پردې، موږ کولی شو د Node.js (CVE-2021-22959, CVE-2021-22960) په اوسنیو څانګو کې د دوو زیانونو له منځه وړلو یادونه وکړو، کوم چې د "HTTP غوښتنه قاچاق" (HRS) بریدونو ترسره کول ممکنه کوي. موږ ته اجازه راکړو چې د نورو کاروونکو غوښتنو مینځپانګې ته د فرنټ اینډ او بیک انډ ترمینځ په ورته تار کې پروسس شوي (د مثال په توګه ، ناوړه جاواسکریپټ کوډ د بل کارونکي ناستې ته داخل کیدی شي). جزئیات به وروسته په ډاګه شي، مګر د اوس لپاره موږ یوازې پوهیږو چې ستونزې د HTTP سرلیک نوم او کولون تر مینځ د ځایونو ناسم اداره کولو له امله رامینځته کیږي، او همدارنګه د لیږد کولو په وخت کې کارول شوي پیرامیټر بلاک کې د کیریج بیرته راستنیدو او لاین فیډ کرکټرونو مختلف اداره کول. د غوښتنې بدن په برخو کې په "ټوټه شوي" حالت کې

راځئ چې یادونه وکړو چې د Node.js پلیټ فارم دواړه د ویب غوښتنلیکونو سرور اړخ ملاتړ او د عادي پیرودونکي او سرور شبکې برنامو رامینځته کولو لپاره کارول کیدی شي. د Node.js لپاره د غوښتنلیکونو فعالیت پراخولو لپاره، د ماډلونو لوی ټولګه چمتو شوې، په کوم کې چې تاسو کولی شئ د HTTP، SMTP، XMPP، DNS، FTP، IMAP، POP3 سرورونو او مراجعینو پلي کولو سره ماډلونه ومومئ، د ادغام لپاره ماډلونه د مختلف ویب چوکاټونو سره، WebSocket او Ajax هینډلرونه، د DBMS (MySQL، PostgreSQL، SQLite، MongoDB) سره نښلونکي، د ټیمپلیټ انجنونه، CSS انجنونه، د کریپټوګرافیک الګوریتمونو پلي کول او د اختیار سیسټمونه (OAuth)، XML پارسرونه.

د لوی شمیر موازي غوښتنو اداره کولو لپاره ، Node.js د غیر بلاک کولو پیښې پروسس کولو او د کال بیک هینډلرونو تعریف کولو پراساس د غیر متناسب کوډ اجرا کولو ماډل کاروي. د ملټي پلیکسینګ اتصال لپاره ملاتړ شوي میتودونه شامل دي ایپل، کیو، /dev/poll، او انتخاب. د اتصال ملټي پلیکسینګ لپاره، د libuv کتابتون کارول کیږي، کوم چې په یونیکس سیسټمونو کې libev او په وینډوز کې IOCP ته اضافه ده. د لیبیو کتابتون د تار حوض رامینځته کولو لپاره کارول کیږي ، او c-ares په غیر بلاک کولو حالت کې د DNS پوښتنو ترسره کولو لپاره مدغم شوی. ټول سیسټم زنګونه چې د بلاک کولو لامل کیږي د تار په حوض کې اجرا کیږي او بیا د سیګنال هینډلرانو په څیر ، د دوی د کار پایله بیرته د نامعلوم پایپ له لارې تیریږي. د جاواسکریپټ کوډ اجرا کول د ګوګل لخوا رامینځته شوي د V8 انجن کارولو له لارې تضمین شوي (سربیره پردې ، مایکروسافټ د چاکرا کور انجن سره د Node.js نسخه رامینځته کوي).

په اصلي برخه کې، Node.js د Perl AnyEvent، Ruby Event Machine، Python Twisted چوکاټونو او په Tcl کې د پیښو پلي کولو ته ورته دی، مګر په Node.js کې د پیښې لوپ د پراختیا کونکي څخه پټ دی او په ویب غوښتنلیک کې د پیښې پروسس کولو سره ورته دی. په براوزر کې چلول. کله چې د node.js لپاره غوښتنلیکونه ولیکئ، نو اړینه ده چې د پیښو لخوا پرمخ وړل شوي پروګرامونو ځانګړتیاوې په پام کې ونیسئ، د بیلګې په توګه، د "var result = db.query" ("select..") کولو پرځای. د کار بشپړیدو او د پایلو وروسته پروسس کولو ته انتظار کولو سره ، Node.js د غیر متناسب اجرا کولو اصول کاروي ، د بیلګې په توګه. کوډ په "db.query("select.." کې بدل شوی، فنکشن (نتیجه) {نتیجې پروسس کول}؛"، په کوم کې چې کنټرول به سمدلاسه نور کوډ ته انتقال شي، او د پوښتنې پایله به پروسس شي کله چې ډاټا راشي.

سرچینه: opennet.ru

Add a comment