சர்வர் பக்க ஜாவாஸ்கிரிப்ட் இயங்குதளத்தின் வெளியீடு 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களுடன் கூடுதலாக, Node.js 17.0 ஆனது ரீட்லைன் மாட்யூலைப் பயன்படுத்தி தரவுகளை வரி வரியாகப் படிக்க Readline Promise API ஐ அறிமுகப்படுத்துகிறது. 'node:readline/promises' இலிருந்து ரீட்லைனாக * இறக்குமதி செய்; 'செயல்முறையில்' இருந்து {stdin ஐ உள்ளீடாகவும், stdout ஐ வெளியீட்டாக } இறக்குமதி செய்யவும்; const rl = readline.createInterface({உள்ளீடு, வெளியீடு}); const answer = காத்திருங்கள் rl.question('Node.js பற்றி நீங்கள் என்ன நினைக்கிறீர்கள்?'); console.log('உங்கள் மதிப்புமிக்க கருத்துக்கு நன்றி: ${பதில்}'); rl.close();
  • வழங்கப்பட்ட OpenSSL நூலகம் பதிப்பு 3.0 க்கு புதுப்பிக்கப்பட்டது (QUIC புரோட்டோகால் ஆதரவு இயக்கப்பட்ட ஒரு quictls/openssl ஃபோர்க் பயன்படுத்தப்படுகிறது).
  • பயன்பாடு நிறுத்தப்படும் அபாயகரமான பிழைகள் ஏற்பட்டால் வெளியிடப்படும் ஸ்டாக் ட்ரேஸ்ஸில் காட்டப்படும் Node.js பதிப்பு இயக்கப்பட்டது.

கூடுதலாக, Node.js இன் தற்போதைய கிளைகளில் (CVE-2021-22959, CVE-2021-22960) இரண்டு பாதிப்புகளை நீக்குவதைக் குறிப்பிடலாம், இது "HTTP கோரிக்கை கடத்தல்" (HRS) தாக்குதல்களை நடத்துவதை சாத்தியமாக்குகிறது. முன்பக்கம் மற்றும் பின்தளத்திற்கு இடையே ஒரே தொடரிழையில் செயலாக்கப்பட்ட பிற பயனர்களின் கோரிக்கைகளின் உள்ளடக்கங்களை இணைக்க எங்களை அனுமதிக்கவும் (எடுத்துக்காட்டாக, தீங்கிழைக்கும் JavaScript குறியீட்டை மற்றொரு பயனரின் அமர்வில் செருகலாம்). விவரங்கள் பின்னர் வெளிப்படுத்தப்படும், ஆனால் HTTP தலைப்புப் பெயருக்கும் பெருங்குடலுக்கும் இடையில் உள்ள இடைவெளிகளை தவறாகக் கையாள்வதால், கடத்தும் போது பயன்படுத்தப்படும் அளவுரு பிளாக்கில் கேரேஜ் ரிட்டர்ன் மற்றும் லைன் ஃபீட் எழுத்துகளை வெவ்வேறு கையாள்வதால் சிக்கல்கள் ஏற்படுகின்றன என்பது மட்டுமே இப்போது எங்களுக்குத் தெரியும். கோரிக்கை அமைப்பு "துண்டாக" பயன்முறையில் "

Node.js இயங்குதளமானது இணைய பயன்பாடுகளின் சர்வர் பக்க ஆதரவு மற்றும் சாதாரண கிளையன்ட் மற்றும் சர்வர் நெட்வொர்க் புரோகிராம்களை உருவாக்குவதற்கும் பயன்படுத்தப்படலாம் என்பதை நினைவில் கொள்வோம். Node.js க்கான பயன்பாடுகளின் செயல்பாட்டை விரிவுபடுத்த, தொகுதிகளின் ஒரு பெரிய தொகுப்பு தயார் செய்யப்பட்டுள்ளது, இதில் HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 சேவையகங்கள் மற்றும் கிளையன்ட்கள், ஒருங்கிணைப்புக்கான தொகுதிகள் ஆகியவற்றைச் செயல்படுத்துவதன் மூலம் தொகுதிகளைக் காணலாம். பல்வேறு இணைய கட்டமைப்புகள், WebSocket மற்றும் Ajax கையாளுபவர்கள், DBMSக்கான இணைப்பிகள் (MySQL, PostgreSQL, SQLite, MongoDB), டெம்ப்ளேட் என்ஜின்கள், CSS இன்ஜின்கள், கிரிப்டோகிராஃபிக் அல்காரிதம்கள் மற்றும் அங்கீகார அமைப்புகளின் செயலாக்கங்கள் (OAuth), XML பாகுபடுத்திகள்.

அதிக எண்ணிக்கையிலான இணை கோரிக்கைகளின் செயலாக்கத்தை உறுதிசெய்ய, Node.js ஒரு ஒத்திசைவற்ற குறியீடு செயல்படுத்தல் மாதிரியைத் தடுக்காத நிகழ்வு கையாளுதல் மற்றும் கால்பேக் ஹேண்ட்லர்களின் வரையறை ஆகியவற்றின் அடிப்படையில் பயன்படுத்துகிறது. மல்டிபிளெக்சிங் இணைப்புகளுக்கான ஆதரவு முறைகள் epoll, kqueue, /dev/poll மற்றும் தேர்ந்தெடுக்கும். இணைப்பு மல்டிபிளெக்சிங்கிற்கு, லிபுவ் லைப்ரரி பயன்படுத்தப்படுகிறது, இது யூனிக்ஸ் சிஸ்டங்களில் லிபெவ் மற்றும் விண்டோஸில் ஐஓசிபிக்கான துணை நிரலாகும். libeio நூலகம் ஒரு நூல் குளத்தை உருவாக்கப் பயன்படுகிறது, மேலும் c-ares ஒருங்கிணைக்கப்பட்டு DNS வினவல்களைத் தடுக்காத பயன்முறையில் செயல்படுத்தப்படுகிறது. தடுப்பை ஏற்படுத்தும் அனைத்து சிஸ்டம் அழைப்புகளும் த்ரெட் பூலுக்குள்ளேயே செயல்படுத்தப்படுகின்றன, பின்னர், சிக்னல் ஹேண்ட்லர்களைப் போல, பெயரிடப்படாத குழாய் (குழாய்) மூலம் தங்கள் வேலையின் முடிவை மாற்றும். ஜாவாஸ்கிரிப்ட் குறியீட்டை செயல்படுத்துவது கூகுள் உருவாக்கிய V8 இன்ஜினைப் பயன்படுத்துவதன் மூலம் வழங்கப்படுகிறது (மேலும், மைக்ரோசாப்ட் சக்ரா-கோர் எஞ்சினுடன் Node.js இன் பதிப்பை உருவாக்குகிறது).

அதன் மையத்தில், Node.js ஆனது Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks மற்றும் Tcl நிகழ்வு செயல்படுத்தல் ஆகியவற்றைப் போன்றது, ஆனால் Node.js இல் உள்ள நிகழ்வு லூப் டெவலப்பரிடம் இருந்து மறைக்கப்பட்டு, இயங்கும் இணையப் பயன்பாட்டில் நிகழ்வைக் கையாளுவதை ஒத்திருக்கிறது. உலாவியில். node.js க்கான பயன்பாடுகளை எழுதும் போது, ​​நிகழ்வு-உந்துதல் நிரலாக்கத்தின் பிரத்தியேகங்களைக் கருத்தில் கொள்ள வேண்டும், எடுத்துக்காட்டாக, "var result = db.query("select..");" வேலை முடிவடையும் வரை காத்திருக்கும் மற்றும் முடிவுகளின் அடுத்தடுத்த செயலாக்கத்துடன், Node.js ஒத்திசைவற்ற செயல்பாட்டின் கொள்கையைப் பயன்படுத்துகிறது, அதாவது. குறியீடு "db.query("select..", செயல்பாடு (முடிவு) {முடிவு செயலாக்கம்});" என மாற்றப்படுகிறது, இதில் கட்டுப்பாடு உடனடியாக மேலும் குறியீட்டிற்கு அனுப்பப்படும், மேலும் தரவு வந்தவுடன் வினவல் முடிவு செயலாக்கப்படும்.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்