{"id":107956,"date":"2023-04-19T12:48:21","date_gmt":"2023-04-19T10:48:21","guid":{"rendered":"https:\/\/prohoster.info\/?p=107956"},"modified":"2023-04-19T14:43:38","modified_gmt":"2023-04-19T12:43:38","slug":"dostupna-servernaya-javascript-platforma-node-js-20-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/lv\/blog\/news\/dostupna-servernaya-javascript-platforma-node-js-20-0","title":{"rendered":"Pieejama servera JavaScript platforma Node.js 20.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Notika par Node.js 20.0 izlaidumu, platformu t\u012bmek\u013ca lietojumprogrammu izpildei JavaScript valod\u0101. Node.js 20.0 pieder pie ilgtermi\u0146a atbalsta (LTS) zarojumiem, ta\u010du \u0161is statuss tiks pie\u0161\u0137irts tikai oktobr\u012b, p\u0113c stabiliz\u0101cijas veik\u0161anas. Atbalsts Node.js 20.x tiks nodro\u0161in\u0101ts l\u012bdz 2026. gada 30. apr\u012blim. Iepriek\u0161\u0113j\u0101s LTS versijas Node.js 18.x atbalsts ilgs l\u012bdz 2025. gada apr\u012blim, bet pirms tam Node.js 16.x l\u012bdz 2023. gada septembrim. LTS 14.x atbalsts beigsies 30. apr\u012bl\u012b, bet Node.js 19.x \u2014 1. j\u016bnij\u0101.     <\/p>\n<p>Galvenie uzlabojumi:  <\/p>\n<ul>\n<li class=\"l\"> V8 dzin\u0113js ir atjaunots l\u012bdz versijai 11.3, kas tiek izmantota Chromium 113. Izmai\u0146\u0101s sal\u012bdzin\u0101jum\u0101 ar Node.js 19, kur tika izmantots Chromium 107 dzin\u0113js, tiek uzsv\u0113rti String.prototype.isWellFormed un toWellFormed funkcijas, Array.prototype un TypedArray.prototype metodes, kas \u013cauj str\u0101d\u0101t ar kopij\u0101m, mainot Array un TypedArray objektus, RegExp karogs 'v', ArrayBuffer izm\u0113ra mai\u0146as atbalsts un SharedArrayBuffer palielin\u0101\u0161ana, k\u0101 ar\u012b p\u0113d\u0113j\u0101 izsaukuma rekursija (tail-call) WebAssembly.\n<li class=\"l\"> \u041f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c Permission Model, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.  \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Permission Model \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435 \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u0444\u043b\u0430\u0433\u0430  &#171;&#8212;experimental-permission&#187;. \u0412 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u044b \u043e\u043f\u0446\u0438\u0438 \u0434\u043b\u044f \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u044c (&#8212;allow-fs-write) \u0438 \u0447\u0442\u0435\u043d\u0438\u0435 (&#8212;allow-fs-read) \u043a \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c \u0447\u0430\u0441\u0442\u044f\u043c \u0424\u0421,  \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c (&#8212;allow-child-process), \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f\u043c (&#8212;no-addons) \u0438  \u043f\u043e\u0442\u043e\u043a\u0430\u043c (&#8212;allow-worker).  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u044c \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \/tmp \u0438 \u0447\u0442\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \/home\/index.js \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c:        node &#8212;experimental-permission &#8212;allow-fs-write=\/tmp\/ &#8212;allow-fs-read=\/home\/index.js index.js\n<p>Pieejas p\u0101rbaudei tiek pied\u0101v\u0101ts izmantot metodi process.permission.has(), piem\u0113ram, 'process.permission.has(\u2018fs.write\u2019,'\/tmp\/test').    <\/p>\n<li class=\"l\"> ECS modu\u013cu (ESM), kas tiek iel\u0101d\u0113ti ar opciju '--experimental-loader', apstr\u0101d\u0101t\u0101ji tagad tiek izpild\u012bti atsevi\u0161\u0137\u0101, no galven\u0101 pavediena izol\u0113t\u0101 pavedien\u0101, kas nov\u0113r\u0161 lietojumprogrammu koda un iel\u0101d\u0113to ESM modu\u013cu krustojumu. L\u012bdz\u012bgi k\u0101 p\u0101rl\u016bkprogramm\u0101s, metode import.meta.resolve() izsaukuma laik\u0101 no lietojumprogrammas tagad tiek izpild\u012bta sinhron\u0101 re\u017e\u012bm\u0101. Vien\u0101 no n\u0101kamaj\u0101m Node.js versij\u0101m pl\u0101no p\u0101rcelt ESM iel\u0101des atbalstu uz stabil\u0101m iesp\u0113j\u0101m.\n<li class=\"l\"> Node:test (test_runner) modulis, kas paredz\u0113ts JavaScript testu izveidei un palai\u0161anai, ir klasific\u0113ts k\u0101 stabils, un tas atgrie\u017e rezult\u0101tu TAP (Test Anything Protocol) form\u0101t\u0101.\n<li class=\"l\"> Tika izveidota atsevi\u0161\u0137a izstr\u0101d\u0101t\u0101ju komanda, kas atbild par veiktsp\u0113jas optimiz\u0101ciju, kura sagatavo\u0161an\u0101s jaunas versijas laik\u0101 veikusi da\u017e\u0101du runtime komponentu pa\u0101trin\u0101\u0161anu, tostarp URL anal\u012bzi, fetch() un EventTarget. Piem\u0113ram, iel\u0101des izmaksas EventTarget inicializ\u0101cij\u0101 ir samazin\u0101tas uz pusi, iev\u0113rojami uzlabota metode URL.canParse() veiktsp\u0113ja un palielin\u0101ta taimeru efektivit\u0101te. Turkl\u0101t ir iek\u013cauts augstas veiktsp\u0113jas URL parsers \u2014 Ada 2.0, kas uzrakst\u012bts C++ valod\u0101.\n<li class=\"l\"> Turpin\u0101ts eksperement\u0101l\u0101s iesp\u0113jas izstr\u0101de, lai pieg\u0101d\u0101tu lietotnes vien\u0101 izpildfail\u0101 (SEA, Single Executable Applications). Izpildfaila izveide tagad prasa bloba aizvieto\u0161anu, kas tiek veidota, pamatojoties uz konfigur\u0101cijas failu JSON form\u0101t\u0101 (t\u0101 viet\u0101, lai izmantotu JavaScript failu).\n<li class=\"l\"> Uzlabota API Web Crypto sader\u012bba ar citu projektu \u012bstenojumiem.\n<li class=\"l\"> Ofici\u0101la atbalsta pievieno\u0161ana Windows sist\u0113m\u0101m ARM64.\n<li class=\"l\"> Turpin\u0101ta WASI (WebAssembly System Interface) papla\u0161in\u0101jumu atbalsta \u012bsteno\u0161ana, lai izveidotu izol\u0113tas WebAssembly lietotnes. Uzk\u0101pta nepiecie\u0161am\u012bba nor\u0101d\u012bt speci\u0101lu komandrindas karogu WASI atbalsta iesl\u0113g\u0161anai.            <\/ul>\n<p>Node.js platformu var izmantot gan servera puses t\u012bmek\u013ca lietojumprogrammu atbalstam, gan parasto klientu un serveru t\u012bkla programmu izveidei. Lai papla\u0161in\u0101tu Node.js lietojumprogrammu funkcionalit\u0101ti, ir sagatavota liela modu\u013cu kolekcija, kas ietver modu\u013cus ar realiz\u0101ciju  <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/lv\/server\/\"   title=\"serveriem\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1704\">serveriem<\/a> un HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 klientiem, modu\u013ciem integr\u0113\u0161anai ar da\u017e\u0101diem t\u012bmek\u013ca ietvariem, WebSocket un Ajax apstr\u0101d\u0101t\u0101jiem, datub\u0101zu (MySQL, PostgreSQL, SQLite, MongoDB) savienot\u0101jiem, veid\u0146u motorus, CSS dzin\u0113jus, kriptoval\u016btu algoritmu realiz\u0101cijas un autoriz\u0101cijas sist\u0113mas (OAuth), XML pars\u0113t\u0101jus.    <\/p>\n<p> Lai nodro\u0161in\u0101tu liel\u0101 skaita vienlaic\u012bgu piepras\u012bjumu apstr\u0101di, Node.js izmanto asynchrono koda palai\u0161anas modeli, kas balst\u0101s uz notikumu apstr\u0101di bez blo\u0137\u0113\u0161anas un callback-handler defin\u0113\u0161anu. Savienojumu multiplex\u0113\u0161anai tiek atbalst\u012bti t\u0101di pa\u0146\u0113mieni k\u0101 epoll, kqueue, \/dev\/poll un select. Savienojumu multiplex\u0113\u0161anai tiek izmantota bibliot\u0113ka libuv, kas ir virs libev Unix sist\u0113m\u0101s un IOCP Windows. Lai izveidotu pavedienu grupu (thread pool), tiek izmantota bibliot\u0113ka libeio, bet DNS piepras\u012bjumu izpilde bez blo\u0137\u0113\u0161anas ir integr\u0113ta ar c-ares. Visi sist\u0113mas izsaukumi, kas izraisa blo\u0137\u0113\u0161anu, tiek veikti pavedienu grup\u0101, un, t\u0101pat k\u0101 sign\u0101lu apstr\u0101d\u0101t\u0101ji, tie atgrie\u017e rezult\u0101tu caur nenosaukto cauruli (pipe). JavaScript koda izpilde tiek nodro\u0161in\u0101ta, izmantojot Google izstr\u0101d\u0101t\u0101 V8 dzin\u0113ja iesaisti (papildus Microsoft att\u012bsta Node.js versiju ar Chakra-Core dzin\u0113ju).        <\/p>\n<p>Node.js b\u016bt\u012bb\u0101 ir l\u012bdz\u012bgs Perl AnyEvent, Ruby Event Machine, Python Twisted ietvariem un notikumu realiz\u0101cij\u0101m Tcl, ta\u010du notikumu cikls (event loop) Node.js ir sl\u0113pts no izstr\u0101d\u0101t\u0101ja un atg\u0101dina notikumu apstr\u0101di web lietojumprogramm\u0101, kas darbojas p\u0101rl\u016bk\u0101. Rakstot lietojumprogrammas node.js, j\u0101\u0146em v\u0113r\u0101 notikumu orient\u0113t\u0101s programm\u0113\u0161anas specifika, piem\u0113ram, t\u0101 viet\u0101, lai izpild\u012btu \u201evar result = db.query(\u201eselect..\u201d);\u201d ar gaid\u0101m, kad darbs pabeigts un rezult\u0101ti apstr\u0101d\u0101ti, Node.js tiek izmantots asinkron\u0101s izpildes princips, t.i., kods tiek p\u0101rv\u0113rsts \u201edb.query(\u201eselect..\u201d, function (result) {rezult\u0101tu apstr\u0101de});\u201d, kur kontrole nekav\u0113joties p\u0101riet uz n\u0101kamo kodu, un vaic\u0101juma rezult\u0101ts tiks apstr\u0101d\u0101ts, sa\u0146emot datus.<br \/>\n<br \/>Avots: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=58998\">opennet.lv<\/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 20.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 20.0 \u043e\u0442\u043d\u0435\u0441\u0451\u043d \u043a \u0432\u0435\u0442\u043a\u0430\u043c \u0441 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0441\u0440\u043e\u043a\u043e\u043c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438, \u043d\u043e \u0434\u0430\u043d\u043d\u044b\u0439 \u0441\u0442\u0430\u0442\u0443\u0441 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043e\u043a\u0442\u044f\u0431\u0440\u0435, \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u0438. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Node.js 20.x \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0434\u043e 30 \u0430\u043f\u0440\u0435\u043b\u044f 2026 \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 18.x \u043f\u0440\u043e\u0434\u043b\u0438\u0442\u0441\u044f \u0434\u043e \u0430\u043f\u0440\u0435\u043b\u044f 2025 \u0433\u043e\u0434\u0430, \u0430 \u043f\u043e\u0437\u0430\u043f\u0440\u043e\u0448\u043b\u043e\u0439 LTS-\u0432\u0435\u0442\u043a\u0438 [&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-107956","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.5 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 20.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.\" \/>\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\/lv\/blog\/news\/dostupna-servernaya-javascript-platforma-node-js-20-0\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"lv_LV\" \/>\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\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u0430\u044f JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Node.js 20.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 20.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.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/lv\/blog\/news\/dostupna-servernaya-javascript-platforma-node-js-20-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=\"2023-04-19T10:48:21+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-04-19T12:43:38+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\udd47Pieejama servera JavaScript platforma Node.js 20.0 | ProHoster","description":"Ir notikusi Node.js 20.0, JavaScript t\u012bkla lietojumprogrammu izpildplatformas, izlaidums.","canonical_url":"https:\/\/prohoster.info\/lv\/blog\/news\/dostupna-servernaya-javascript-platforma-node-js-20-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"lv_LV","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\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u0430\u044f JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Node.js 20.0 | ProHoster","og:description":"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 20.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.","og:url":"https:\/\/prohoster.info\/lv\/blog\/news\/dostupna-servernaya-javascript-platforma-node-js-20-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":"2023-04-19T10:48:21+00:00","article:modified_time":"2023-04-19T12:43:38+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"107956","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":"default","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":"2026-02-09 16:51:32","updated":"2026-02-09 16:51:32","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/107956","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/comments?post=107956"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/107956\/revisions"}],"predecessor-version":[{"id":158948,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/107956\/revisions\/158948"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/media?parent=107956"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/categories?post=107956"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/tags?post=107956"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}