{"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\/cs\/blog\/news\/vypusk-servernoj-javascript-platformy-node-js-17-0","title":{"rendered":"Vyd\u00e1n\u00ed serverov\u00e9 JavaScriptov\u00e9 platformy Node.js 17.0.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Byl vyd\u00e1n Node.js 17.0, platforma pro prov\u00e1d\u011bn\u00ed s\u00ed\u0165ov\u00fdch aplikac\u00ed v jazyce JavaScript. Node.js 17.0 pat\u0159\u00ed do pravideln\u00e9ho cyklu podpory, jeho\u017e aktualizace budou vyd\u00e1v\u00e1ny do \u010dervna 2022. V n\u00e1sleduj\u00edc\u00edch dnech bude dokon\u010dena stabilizace v\u011btve Node.js 16, kter\u00e1 z\u00edsk\u00e1 status LTS a bude podporov\u00e1na do dubna 2024. Podpora p\u0159edchoz\u00ed v\u011btve LTS, Node.js 14.0, potrv\u00e1 do dubna 2023, a star\u0161\u00ed LTS v\u011btev 12.0 do dubna 2022.       <\/p>\n<p>Hlavn\u00ed vylep\u0161en\u00ed:  <\/p>\n<ul>\n<li class=\"l\"> Engin V8 byl aktualizov\u00e1n na verzi 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\"> Dod\u00e1van\u00e1 knihovna OpenSSL byla aktualizov\u00e1na na verzi 3.0 (byla pou\u017eita \u00faprava quictls\/openssl se zapnutou podporou protokolu QUIC).\n<li class=\"l\"> Bylo zaji\u0161t\u011bno vypisov\u00e1n\u00ed verze Node.js ve stoptrace, kter\u00e1 je generov\u00e1na v p\u0159\u00edpad\u011b fat\u00e1ln\u00edch chyb, vedouc\u00edch k ukon\u010den\u00ed aplikace.      <\/ul>\n<p>D\u00e1le lze zm\u00ednit odstran\u011bn\u00ed dvou zranitelnost\u00ed v aktu\u00e1ln\u00edch v\u011btv\u00edch Node.js (CVE-2021-22959, CVE-2021-22960), kter\u00e9 umo\u017e\u0148uj\u00ed \u00fatoky typu &#171;HTTP Request Smuggling&#187; (HRS). Tyto \u00fatoky umo\u017e\u0148uj\u00ed prost\u0159ednictv\u00edm speci\u00e1ln\u011b formulovan\u00fdch klientsk\u00fdch \u017e\u00e1dost\u00ed proniknout do obsahu \u017e\u00e1dost\u00ed dal\u0161\u00edch u\u017eivatel\u016f, kter\u00e9 jsou zpracov\u00e1v\u00e1ny ve stejn\u00e9m vl\u00e1kn\u011b mezi frontendem a backendem (nap\u0159\u00edklad je mo\u017en\u00e9 vlo\u017eit \u0161kodliv\u00fd JavaScriptov\u00fd k\u00f3d do relace jin\u00e9ho u\u017eivatele). Podrobnosti budou zve\u0159ejn\u011bny pozd\u011bji, zat\u00edm je zn\u00e1mo pouze to, \u017ee probl\u00e9my jsou zp\u016fsobeny nespr\u00e1vn\u00fdm zpracov\u00e1n\u00edm mezer mezi n\u00e1zvem HTTP z\u00e1hlav\u00ed a dvojte\u010dkou, stejn\u011b jako rozd\u00edln\u00fdm zpracov\u00e1n\u00edm znak\u016f n\u00e1vratu voz\u00edku a nov\u00e9ho \u0159\u00e1dku v bloku parametr\u016f, kter\u00fd se pou\u017e\u00edv\u00e1 p\u0159i p\u0159enosu t\u011bla \u017e\u00e1dosti po \u010d\u00e1stech v re\u017eimu &#171;chunked&#187;.        <\/p>\n<p>P\u0159ipom\u00edn\u00e1me, \u017ee platforma Node.js m\u016f\u017ee b\u00fdt pou\u017eita jak pro serverov\u00e9 zaji\u0161t\u011bn\u00ed b\u011bhu webov\u00fdch aplikac\u00ed, tak pro vytv\u00e1\u0159en\u00ed b\u011b\u017en\u00fdch klientsk\u00fdch a serverov\u00fdch s\u00ed\u0165ov\u00fdch program\u016f. Pro roz\u0161\u00ed\u0159en\u00ed funkcionality aplikac\u00ed pro Node.js byla p\u0159ipravena rozs\u00e1hl\u00e1 kolekce modul\u016f, ve kter\u00e9 lze naj\u00edt moduly s implementac\u00ed  <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/cs\/server\/\"   title=\"servery\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1614\">servery<\/a> a klient\u016f HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, moduly pro integraci s r\u016fzn\u00fdmi webov\u00fdmi frameworky, zpracovatele WebSocket a Ajax, konektory k datab\u00e1z\u00edm (MySQL, PostgreSQL, SQLite, MongoDB), \u0161ablonovac\u00ed enginy, CSS frameworky, implementace kryptografick\u00fdch algoritm\u016f a syst\u00e9m\u016f autorizace (OAuth), XML parsery.    <\/p>\n<p> Aby Node.js zvl\u00e1dl zpracov\u00e1n\u00ed velk\u00e9ho po\u010dtu paraleln\u00edch po\u017eadavk\u016f, vyu\u017e\u00edv\u00e1 asynchronn\u00ed model spou\u0161t\u011bn\u00ed k\u00f3du zalo\u017een\u00fd na zpracov\u00e1n\u00ed ud\u00e1lost\u00ed v nezablokovan\u00e9m re\u017eimu a ur\u010den\u00ed callback-handler\u016f. Mezi metody multiplexov\u00e1n\u00ed spojen\u00ed pat\u0159\u00ed epoll, kqueue, \/dev\/poll a select. Pro multiplexov\u00e1n\u00ed spojen\u00ed se pou\u017e\u00edv\u00e1 knihovna libuv, kter\u00e1 je nadstavbou nad libev v syst\u00e9mech Unix a nad IOCP ve Windows. Pro vytvo\u0159en\u00ed vl\u00e1kna (thread pool) se vyu\u017e\u00edv\u00e1 knihovna libeio a pro prov\u00e1d\u011bn\u00ed DNS dotaz\u016f v nezablokovan\u00e9m re\u017eimu je integrov\u00e1n c-ares. V\u0161echny syst\u00e9mov\u00e9 v\u00fdzvy, kter\u00e9 zp\u016fsobuj\u00ed blokaci, jsou prov\u00e1d\u011bny uvnit\u0159 vl\u00e1kna a n\u00e1sledn\u011b, stejn\u011b jako zpracovatel\u00e9 sign\u00e1l\u016f, p\u0159ed\u00e1vaj\u00ed v\u00fdsledek sv\u00e9 pr\u00e1ce zp\u011bt prost\u0159ednictv\u00edm anonymn\u00edho kan\u00e1lu (pipe). Prov\u00e1d\u011bn\u00ed JavaScriptov\u00e9ho k\u00f3du je zaji\u0161\u0165ov\u00e1no prost\u0159ednictv\u00edm vyu\u017eit\u00ed motoru V8 vyvinut\u00e9ho spole\u010dnost\u00ed Google (nav\u00edc Microsoft vyv\u00edj\u00ed variantu Node.js s motorem Chakra-Core).        <\/p>\n<p>Podstatou je, \u017ee Node.js je podobn\u00fd r\u00e1mc\u016fm Perl AnyEvent, Ruby Event Machine, Python Twisted a implementaci ud\u00e1lost\u00ed v Tcl, ale cyklus zpracov\u00e1n\u00ed ud\u00e1lost\u00ed (event loop) v Node.js je skryt p\u0159ed v\u00fdvoj\u00e1\u0159em a p\u0159ipom\u00edn\u00e1 zpracov\u00e1n\u00ed ud\u00e1lost\u00ed ve webov\u00e9 aplikaci b\u011b\u017e\u00edc\u00ed v prohl\u00ed\u017ee\u010di. P\u0159i psan\u00ed aplikac\u00ed pro node.js je t\u0159eba br\u00e1t v \u00favahu specifika ud\u00e1lostmi orientovan\u00e9ho programov\u00e1n\u00ed, nap\u0159\u00edklad nam\u00edsto prov\u00e1d\u011bn\u00ed \u201evar result = db.query(\u201eselect..\u201c);\u201c s \u010dek\u00e1n\u00edm na dokon\u010den\u00ed a n\u00e1slednou zpracov\u00e1n\u00ed v\u00fdsledk\u016f, se v Node.js pou\u017e\u00edv\u00e1 princip asynchronn\u00edho vykon\u00e1v\u00e1n\u00ed, tj. k\u00f3d je transformov\u00e1n na \u201edb.query(\u201eselect..\u201c, function (result) {zpracov\u00e1n\u00ed v\u00fdsledku});\u201c, p\u0159i kter\u00e9m \u0159\u00edzen\u00ed okam\u017eit\u011b p\u0159ejde k dal\u0161\u00edmu k\u00f3du a v\u00fdsledek dotazu bude zpracov\u00e1n, jakmile budou data p\u0159ijata.<br \/>\n<br \/>Zdroj: <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\/cs\/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=\"cs_CZ\" \/>\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\/cs\/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\udd47Vyd\u00e1n\u00ed serverov\u00e9 JavaScript platformy Node.js 17.0 | ProHoster","description":"Byl vyd\u00e1n Node.js 17.0, platforma pro prov\u00e1d\u011bn\u00ed s\u00ed\u0165ov\u00fdch aplikac\u00ed v jazyce JavaScript. Node.js 17.0 pat\u0159\u00ed do pravideln\u00e9ho cyklu podpory, jeho\u017e aktualizace budou vyd\u00e1v\u00e1ny do \u010dervna 2022.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/news\/vypusk-servernoj-javascript-platformy-node-js-17-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","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\/cs\/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\/cs\/wp-json\/wp\/v2\/posts\/101702","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=101702"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/101702\/revisions"}],"predecessor-version":[{"id":158858,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/101702\/revisions\/158858"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=101702"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=101702"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=101702"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}