سرور طرف جاوا اسڪرپٽ پليٽ فارم 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 ۾ اپڊيٽ ڪيو ويو آهي.
  • واعدو asynchronous ڪمپيوٽنگ انٽرفيس جي استعمال جي بنياد تي بنيادي API جي مختلف قسمن تي عمل جاري آهي. اڳ ۾ پيش ڪيل ٽائمرز وعدن ۽ اسٽريمز وعدن APIs کان علاوه، Node.js 17.0 ريڊ لائن ماڊل استعمال ڪندي ڊيٽا لائن پڙهڻ لاءِ ريڊ لائن وعدو API متعارف ڪرايو. درآمد * جيئن 'نوڊ:ريڊ لائن/واعدو' مان پڙهڻ واري لائن؛ درآمد ڪريو { stdin as input, stdout as output} 'process' مان؛ const rl = readline.createInterface ({ان پٽ، آئوٽ })؛ const جواب = انتظار ڪريو rl.question('توهان Node.js بابت ڇا ٿا سوچيو؟'); console.log('توهان جي قيمتي راءِ لاءِ مهرباني: ${answer}'); rl.close();
  • فراهم ڪيل OpenSSL لائبريري کي ورزن 3.0 ۾ اپڊيٽ ڪيو ويو آهي (هڪ quictls/openssl fork استعمال ڪيو ويو آهي QUIC پروٽوڪول سپورٽ سان فعال).
  • فعال ڪيو Node.js ورجن کي اسٽيڪ جي نشانين ۾ ڏيکاريو وڃي جيڪي ٻاھر نڪرندڙ غلطين جي صورت ۾ آھن جيڪي ايپليڪيشن کي ختم ڪرڻ جو سبب بڻجن ٿيون.

اضافي طور تي، اسان Node.js (CVE-2021-22959، CVE-2021-22960) جي موجوده شاخن ۾ ٻن خطرن جي خاتمي جو ذڪر ڪري سگھون ٿا، جيڪي "HTTP Request Smuggling" (HRS) حملن کي انجام ڏيڻ ممڪن بڻائين ٿيون. اسان کي اجازت ڏيو ته ٻين استعمال ڪندڙن جي درخواستن جي مواد کي داخل ڪري سگھون جيڪي ساڳئي سلسلي ۾ فرنٽ اينڊ ۽ پس منظر جي وچ ۾ پروسيس ٿيل آھن (مثال طور، خراب جاوا اسڪرپٽ ڪوڊ ٻئي صارف جي سيشن ۾ داخل ڪري سگھجي ٿو). تفصيل بعد ۾ پڌرا ڪيا ويندا، پر ھاڻي اسان صرف ڄاڻون ٿا ته مسئلا HTTP ھيڊر جي نالي ۽ ڪالون جي وچ ۾ اسپيس جي غلط ھينڊلنگ سبب پيدا ٿيا آھن، ۽ گڏوگڏ گاڏين جي واپسي جي مختلف ھٿن ۽ لائن فيڊ ڪردارن کي پيراميٽر بلاڪ ۾ استعمال ڪيو ويو آھي. درخواست جو جسم حصن ۾ "ٽڪيل" موڊ ۾ "

اچو ته ياد رکون ته Node.js پليٽ فارم ٻنهي ويب ايپليڪيشنن جي سرور-سائڊ سپورٽ ۽ عام ڪلائنٽ ۽ سرور نيٽ ورڪ پروگرام ٺاهڻ لاءِ استعمال ڪري سگهجي ٿو. Node.js لاءِ ايپليڪيشنن جي ڪارڪردگي کي وڌائڻ لاءِ، ماڊلز جو هڪ وڏو مجموعو تيار ڪيو ويو آهي، جنهن ۾ توهان HTTP، SMTP، XMPP، DNS، FTP، IMAP، POP3 سرورز ۽ ڪلائنٽ، انضمام لاءِ ماڊلز جي نفاذ سان ماڊلز ڳولي سگهو ٿا. مختلف ويب فريم ورڪ سان، WebSocket ۽ Ajax handlers، connectors to DBMS (MySQL, PostgreSQL, SQLite, MongoDB)، ٽيمپليٽ انجڻ، سي ايس ايس انجڻ، ڪرپٽوگرافڪ الگورتھم ۽ اختيار ڪرڻ واري نظام جي نفاذ (OAuth)، XML پارسر.

وڏي تعداد ۾ متوازي درخواستن جي پروسيسنگ کي يقيني بڻائڻ لاءِ، Node.js استعمال ڪري ٿو هڪ غير بلاڪنگ ايونٽ هينڊلنگ ۽ ڪال بڪ هينڊلر جي تعريف جي بنياد تي هڪ اسيڪرونس ڪوڊ ايگزيڪيوشن ماڊل. ملٽي پلڪسنگ ڪنيڪشن لاءِ سپورٽ ٿيل طريقا آهن ايپول، ڪڪيو، /dev/poll، ۽ چونڊيو. ڪنيڪشن ملٽي پلڪسنگ لاءِ، libuv لائبريري استعمال ٿئي ٿي، جيڪا يونڪس سسٽم تي libev ۽ ونڊوز تي IOCP لاءِ هڪ اضافو آهي. لائبيو لائبريري ٿريڊ پول ٺاهڻ لاءِ استعمال ڪئي ويندي آهي، ۽ سي-آئرز غير بلاڪنگ موڊ ۾ DNS سوالن کي انجام ڏيڻ لاءِ ضم ٿيل آهي. سڀئي سسٽم ڪالون جيڪي بلاڪ ڪرڻ جو سبب بڻجن ٿيون ٿريڊ پول جي اندر ۽ پوءِ، سگنل هينڊلر وانگر، انهن جي ڪم جو نتيجو واپس هڪ نامعلوم پائپ (پائپ) ذريعي منتقل ڪيو وڃي ٿو. جاوا اسڪرپٽ ڪوڊ جي عمل کي گوگل پاران تيار ڪيل V8 انجڻ جي استعمال ذريعي مهيا ڪيو ويو آهي (ان کان علاوه، Microsoft Chakra-Core انجڻ سان 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.."، function (نتيجو) {نتيجو پروسيسنگ}) ۾ تبديل ٿي ويو آهي، جنهن ۾ ڪنٽرول فوري طور تي وڌيڪ ڪوڊ ڏانهن منتقل ڪيو ويندو، ۽ سوال جو نتيجو پروسيس ڪيو ويندو جيئن ڊيٽا اچي.

جو ذريعو: opennet.ru

تبصرو شامل ڪريو