சர்வர் பக்க ஜாவாஸ்கிரிப்ட் இயங்குதளத்தின் வெளியீடு Node.js 17.0

ஜாவாஸ்கிரிப்ட்டில் நெட்வொர்க் பயன்பாடுகளை இயக்குவதற்கான ஒரு தளமான Node.js 17.0 வெளியிடப்பட்டுள்ளது. Node.js 17.0 வழக்கமான ஆதரவு கிளையின் ஒரு பகுதியாகும், ஜூன் 2022 வரை புதுப்பிப்புகள் எதிர்பார்க்கப்படுகின்றன. வரும் நாட்களில், Node.js 16 உறுதிப்படுத்தலை நிறைவுசெய்து, LTS ஆக மாறும், மேலும் ஏப்ரல் 2024 வரை ஆதரிக்கப்படும். முந்தைய LTS கிளையான Node.js 14.0 க்கான ஆதரவு ஏப்ரல் 2023 வரை தொடரும், முந்தைய LTS கிளையான 12.0 க்கான ஆதரவு ஏப்ரல் 2022 வரை தொடரும்.

முக்கிய மேம்பாடுகள்:

  • V8 எஞ்சின் பதிப்பு 9.5 க்கு புதுப்பிக்கப்பட்டுள்ளது.
  • Promise ஒத்திசைவற்ற கணக்கீட்டு இடைமுகத்தை அடிப்படையாகக் கொண்ட கோர் API வகைகளை நாங்கள் தொடர்ந்து செயல்படுத்தினோம். முன்னர் முன்மொழியப்பட்ட Timers Promises மற்றும் Streams Promises API களுக்கு கூடுதலாக, Node.js 17.0, readline தொகுதியைப் பயன்படுத்தி தரவை வரிக்கு வரியாகப் படிப்பதற்கான Readline Promis API ஐ அறிமுகப்படுத்துகிறது. import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'process'; const rl = readline.createInterface({ input, output }); const answer = await 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 தடையற்ற நிகழ்வு செயலாக்கம் மற்றும் கால்பேக் கையாளுநர்களை அடிப்படையாகக் கொண்ட ஒரு ஒத்திசைவற்ற குறியீடு செயலாக்க மாதிரியைப் பயன்படுத்துகிறது. ஆதரிக்கப்படும் இணைப்பு மல்டிபிளெக்சிங் முறைகளில் epoll, kqueue, /dev/poll, மற்றும் select ஆகியவை அடங்கும். யூனிக்ஸ் அமைப்புகளில் உள்ள libev மற்றும் IOCP அமைப்புகளில் உள்ள IOCP ஆகியவற்றின் சூப்பர்செட்டாக இருக்கும் libuv நூலகம், இணைப்பு மல்டிபிளெக்சிங்கிற்காகப் பயன்படுத்தப்படுகிறது. Windowsஒரு த்ரெட் பூலை உருவாக்க libeio நூலகம் பயன்படுத்தப்படுகிறது, மேலும் நான்-பிளாக்கிங் பயன்முறையில் DNS வினவல்களைச் செய்ய c-ares ஒருங்கிணைக்கப்பட்டுள்ளது. அனைத்து பிளாக்கிங் சிஸ்டம் அழைப்புகளும் த்ரெட் பூலுக்குள் செயல்படுத்தப்படுகின்றன, பின்னர், சிக்னல் ஹேண்ட்லர்களைப் போலவே, பெயரிடப்படாத பைப் வழியாக அவற்றின் முடிவுகளைத் திருப்பி அனுப்புகின்றன. ஜாவாஸ்கிரிப்ட் செயலாக்கம் கூகிளின் V8 எஞ்சின் மூலம் வழங்கப்படுகிறது (மைக்ரோசாப்ட் நிறுவனமும் சக்ரா-கோர் எஞ்சினுடன் நோட்.ஜேஎஸ்-இன் ஒரு வகையை உருவாக்கி வருகிறது).

அதன் மையத்தில், 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

DDoS பாதுகாப்பு, VPS VDS சர்வர்கள் கொண்ட தளங்களுக்கு நம்பகமான ஹோஸ்டிங் வாங்கவும் 🔥 DDoS பாதுகாப்புடன் கூடிய நம்பகமான இணையதள ஹோஸ்டிங், VPS, VDS சர்வர்களை வாங்குங்கள் | ProHoster