{"id":101702,"date":"2021-10-19T22:23:37","date_gmt":"2021-10-19T20:23:37","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-servernoj-javascript-platformy-node-js-17-0"},"modified":"2021-10-19T22:23:37","modified_gmt":"2021-10-19T20:23:37","slug":"vypusk-servernoj-javascript-platformy-node-js-17-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/nl\/blog\/news\/vypusk-servernoj-javascript-platformy-node-js-17-0","title":{"rendered":"Uitgave van de server-side JavaScript-platform Node.js 17.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>De release van Node.js 17.0, het platform voor het uitvoeren van netwerkapplicaties in JavaScript, heeft plaatsgevonden. Node.js 17.0 behoort tot de reguliere ondersteuningstak, waarvoor updates tot juni 2022 zullen worden uitgebracht. Binnenkort wordt de stabilisatie van de Node.js 16-tak afgerond, die de LTS-status zal krijgen en tot april 2024 ondersteund zal worden. De ondersteuning van de vorige LTS-tak Node.js 14.0 zal doorgaan tot april 2023, en de ouder LTS-tak 12.0 tot april 2022.       <\/p>\n<p>Hoofdverbeteringen:  <\/p>\n<ul>\n<li class=\"l\"> De V8-engine is bijgewerkt naar versie 9.5.\n<li class=\"l\"> \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0431\u0430\u0437\u043e\u0432\u043e\u0433\u043e API, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 Promise. \u0412 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a \u0440\u0430\u043d\u0435\u0435 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u043c API Timers Promises \u0438 Streams Promises \u0432 Node.js 17.0 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d API Readline Promise \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0447\u043d\u043e\u0433\u043e \u0447\u0442\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043c\u043e\u0434\u0443\u043b\u044f readline.       import * as readline from &#8216;node:readline\/promises&#8217;;     import { stdin as input, stdout as output } from &#8216;process&#8217;;       const rl = readline.createInterface({ input, output });       const answer = await rl.question(&#8216;What do you think of Node.js?&#8217;);       console.log(&#8216;Thank you for your valuable feedback: ${answer}&#8217;);       rl.close();\n<li class=\"l\"> De meegeleverde OpenSSL-bibliotheek is bijgewerkt naar versie 3.0 (met de quictls\/openssl-fork die ondersteuning biedt voor het QUIC-protocol).\n<li class=\"l\"> De versie van Node.js wordt weergegeven in stacktraces die worden geproduceerd bij fatale fouten die leiden tot het be\u00ebindigen van de applicatie.      <\/ul>\n<p>Daarnaast kan worden genoemd dat in de huidige versies van Node.js twee kwetsbaarheden (CVE-2021-22959, CVE-2021-22960) zijn verholpen, die het mogelijk maken om 'HTTP Request Smuggling'-aanvallen (HRS) uit te voeren. Deze aanvallen stellen aanvallers in staat om door het versturen van speciaal opgemaakte clientverzoeken in te breken in de inhoud van verzoeken van andere gebruikers die in dezelfde stroom tussen de frontend en backend worden verwerkt (bijvoorbeeld kan dit leiden tot het invoegen van kwaadaardige JavaScript-code in de sessie van een andere gebruiker). Verdere details zullen later worden onthuld, maar voor nu is alleen bekend dat de problemen worden veroorzaakt door de onjuiste verwerking van spaties tussen de naam van de HTTP-header en de dubbele punt, evenals de verschillende verwerking van carriage return- en line feed-tekens in het parametersblok dat wordt gebruikt bij het verzenden van het verzoeklichaam in chunks.        <\/p>\n<p>Ter herinnering, het Node.js-platform kan zowel worden gebruikt voor server-side ondersteuning van webapplicaties, als voor de ontwikkeling van reguliere client- en server-netwerkprogramma's. Voor de uitbreiding van de functionaliteit van Node.js-applicaties is er een uitgebreide verzameling modules beschikbaar, waarin modules met implementaties te vinden zijn.  <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/nl\/server\/\"   title=\"servers\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1614\">servers<\/a> en clients voor HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, modules voor integratie met verschillende webframeworks, WebSocket en Ajax handlers, connectoren naar databases (MySQL, PostgreSQL, SQLite, MongoDB), template-engines, CSS-engines, implementaties van cryptografie en autorisatiesystemen (OAuth), XML-parsers.    <\/p>\n<p> Om een groot aantal parallelle verzoeken te verwerken, maakt Node.js gebruik van een asynchroon model voor het uitvoeren van code, gebaseerd op het verwerken van gebeurtenissen in een niet-blokkerende modus en het defini\u00ebren van callback-handlers. Methoden zoals epoll, kqueue, \/dev\/poll en select worden ondersteund voor het multiplexen van verbindingen. De libuv bibliotheek, die een bovenlaag vormt boven libev in Unix-systemen en boven IOCP in Windows, wordt gebruikt voor het multiplexen van verbindingen. Voor het cre\u00ebren van een thread pool wordt de libeio bibliotheek ingezet en voor het uitvoeren van DNS-verzoeken in niet-blokkerende modus is c-ares ge\u00efntegreerd. Alle systeemaanroepen die blokkeren, worden uitgevoerd binnen de thread pool en geven vervolgens, net als signaalhandlers, het resultaat van hun werk terug via een onge benoemde pijp. De uitvoering van JavaScript-code wordt mogelijk gemaakt door het gebruik van de door Google ontwikkelde V8-engine (bovendien ontwikkelt Microsoft een variant van Node.js met de Chakra-Core engine).        <\/p>\n<p>In wezen is Node.js vergelijkbaar met de frameworks Perl AnyEvent, Ruby Event Machine, Python Twisted en de implementatie van evenementen in Tcl, maar de event loop in Node.js is verborgen voor de ontwikkelaar en lijkt op de evenementverwerking in een webapplicatie die in een browser draait. Bij het schrijven van applicaties voor Node.js moet rekening worden gehouden met de specifieke kenmerken van evenementen-geori\u00ebnteerd programmeren. In plaats van 'var result = db.query('select..');' uit te voeren met een afwachting van de voltooiing en de daaropvolgende verwerking van resultaten, gebruikt Node.js het principe van asynchrone uitvoering, dat wil zeggen, de code wordt getransformeerd in 'db.query('select..', function (result) {resultaat verwerken});', waarbij de controle onmiddellijk naar verdere code gaat en het resultaat van de aanvraag zal worden verwerkt naarmate gegevens binnenkomen.<br \/>\n<br \/>Bron: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=55997\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 17.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 JavaScript. Node.js 17.0 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a \u0432\u0435\u0442\u043a\u0435 \u0441 \u043e\u0431\u044b\u0447\u043d\u044b\u043c \u0441\u0440\u043e\u043a\u043e\u043c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438, \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u043f\u0443\u0441\u043a\u0430\u0442\u044c\u0441\u044f \u0434\u043e \u0438\u044e\u043d\u044f 2022 \u0433\u043e\u0434\u0430. \u0412 \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0438\u0435 \u0434\u043d\u0438 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0430 \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0432\u0435\u0442\u043a\u0438 Node.js 16, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u0442 \u0441\u0442\u0430\u0442\u0443\u0441 LTS \u0438 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043e \u0430\u043f\u0440\u0435\u043b\u044f 2024 \u0433\u043e\u0434\u0430. \u0421\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 LTS-\u0432\u0435\u0442\u043a\u0438 Node.js 14.0 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-101702","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 17.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 JavaScript. Node.js 17.0 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a \u0432\u0435\u0442\u043a\u0435 \u0441 \u043e\u0431\u044b\u0447\u043d\u044b\u043c \u0441\u0440\u043e\u043a\u043e\u043c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438, \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u043f\u0443\u0441\u043a\u0430\u0442\u044c\u0441\u044f \u0434\u043e \u0438\u044e\u043d\u044f 2022 \u0433\u043e\u0434\u0430.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/nl\/blog\/news\/vypusk-servernoj-javascript-platformy-node-js-17-0\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"nl_NL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0439 JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Node.js 17.0 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 17.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 JavaScript. Node.js 17.0 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a \u0432\u0435\u0442\u043a\u0435 \u0441 \u043e\u0431\u044b\u0447\u043d\u044b\u043c \u0441\u0440\u043e\u043a\u043e\u043c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438, \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u043f\u0443\u0441\u043a\u0430\u0442\u044c\u0441\u044f \u0434\u043e \u0438\u044e\u043d\u044f 2022 \u0433\u043e\u0434\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/nl\/blog\/news\/vypusk-servernoj-javascript-platformy-node-js-17-0\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2021-10-19T20:23:37+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-10-19T20:23:37+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Uitgave van de server-side JavaScript-platform Node.js 17.0 | ProHoster","description":"De release van Node.js 17.0, het platform voor het uitvoeren van netwerkapplicaties in JavaScript, heeft plaatsgevonden. Node.js 17.0 behoort tot de reguliere ondersteuningstak, waarvoor updates tot juni 2022 zullen worden uitgebracht.","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/news\/vypusk-servernoj-javascript-platformy-node-js-17-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nl_NL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0439 JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Node.js 17.0 | ProHoster","og:description":"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 17.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 JavaScript. Node.js 17.0 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a \u0432\u0435\u0442\u043a\u0435 \u0441 \u043e\u0431\u044b\u0447\u043d\u044b\u043c \u0441\u0440\u043e\u043a\u043e\u043c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438, \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u043f\u0443\u0441\u043a\u0430\u0442\u044c\u0441\u044f \u0434\u043e \u0438\u044e\u043d\u044f 2022 \u0433\u043e\u0434\u0430.","og:url":"https:\/\/prohoster.info\/nl\/blog\/news\/vypusk-servernoj-javascript-platformy-node-js-17-0","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2021-10-19T20:23:37+00:00","article:modified_time":"2021-10-19T20:23:37+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"101702","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-10-19 20:23:42","updated":"2026-02-09 16:51:04","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/101702","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=101702"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/101702\/revisions"}],"predecessor-version":[{"id":158858,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/101702\/revisions\/158858"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=101702"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=101702"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=101702"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}