{"id":78969,"date":"2020-04-23T13:42:02","date_gmt":"2020-04-23T11:42:02","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-servernoj-javascript-platformy-node-js-14-0"},"modified":"2020-04-23T13:42:02","modified_gmt":"2020-04-23T11:42:02","slug":"vypusk-servernoj-javascript-platformy-node-js-14-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/news\/vypusk-servernoj-javascript-platformy-node-js-14-0","title":{"rendered":"Lan\u00e7amento da plataforma de servidor JavaScript Node.js 14.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/nodejs.org\/en\/blog\/release\/v14.0.0\/\">Aconteceu<\/a><\/noindex> lan\u00e7amento <noindex><a rel=\"nofollow\" href=\"https:\/\/nodejs.org\">Node.js 14.0<\/a><\/noindex>, uma plataforma para executar aplica\u00e7\u00f5es de rede em JavaScript. O Node.js 14.0 pertence \u00e0s branches de suporte a longo prazo, mas esse status ser\u00e1 atribu\u00eddo apenas em outubro, ap\u00f3s a estabiliza\u00e7\u00e3o. O suporte para o Node.js 14.0 ser\u00e1 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/nodejs\/Release\">realizado<\/a><\/noindex> at\u00e9 abril de 2023. O suporte para a antiga branch LTS Node.js 12.0 continuar\u00e1 at\u00e9 abril de 2022, e para a pen\u00faltima branch LTS 10.0 at\u00e9 abril de 2021. O suporte para a branch intermedi\u00e1ria 13.x termina em junho deste ano.<\/p>\n<p>Principais <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@nodejs\/node-js-version-14-available-now-8170d384567e\">s\u00e3o<\/a><\/noindex>:<\/p>\n<ul>\n<li class=\"l\"> Foi estabilizada a capacidade de gerar de forma din\u00e2mica ou ao ocorrer certos eventos <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/the-node-js-collection\/easily-identify-problems-in-node-js-applications-with-diagnostic-report-dc82370d8029\">relat\u00f3rios de diagn\u00f3stico<\/a><\/noindex>, nos quais s\u00e3o refletidos eventos que ajudam a diagnosticar problemas como falhas, redu\u00e7\u00e3o de desempenho, vazamentos de mem\u00f3ria, alta carga na CPU, sa\u00eddas inesperadas de erros, entre outros.\n<li class=\"l\"> Adicionada suporte experimental para a API <noindex><a rel=\"nofollow\" href=\"https:\/\/nodejs.org\/api\/async_hooks.html#async_hooks_class_asynclocalstorage\">Async Local Storage<\/a><\/noindex> , com a implementa\u00e7\u00e3o da classe AsyncLocalStorage, que pode ser usada para criar estados ass\u00edncronos com manipuladores baseados em callbacks e promessas. AsyncLocalStorage permite armazenar dados durante o processamento de solicita\u00e7\u00f5es web, semelhante ao armazenamento local para threads em outras linguagens.\n<li class=\"l\"> Removida a exibi\u00e7\u00e3o de avisos sobre a funcionalidade experimental ao carregar <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/nodejs\/node\/blob\/master\/doc\/api\/esm.md\">m\u00f3dulos<\/a><\/noindex>  <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=42450\">ECMAScript 6<\/a><\/noindex> importados e exportados usando express\u00f5es import e export. Por\u00e9m, a implementa\u00e7\u00e3o dos m\u00f3dulos ESM ainda permanece experimental.\n<li class=\"l\"> O motor V8 foi atualizado para a vers\u00e3o <noindex><a rel=\"nofollow\" href=\"https:\/\/v8.dev\/\">8.1<\/a><\/noindex> (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52000\">1<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52565\">2<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52312\">3<\/a><\/noindex>), que introduziu novas otimiza\u00e7\u00f5es de desempenho e inova\u00e7\u00f5es como o novo operador l\u00f3gico de coalesc\u00eancia &#171;??&#187; (retorna o operando da direita se o operando da esquerda for NULL ou undefined, e vice-versa), o operador &#171;?.&#187; para verifica\u00e7\u00e3o simult\u00e2nea de toda a cadeia de propriedades ou chamadas (por exemplo, &#171;db?.user?.name?.length&#187; sem verifica\u00e7\u00f5es pr\u00e9vias), o m\u00e9todo Intl.DisplayName para obter nomes localizados, etc.\n<li class=\"l\"> Uma revis\u00e3o da API Streams foi realizada, visando melhorar a consist\u00eancia das interfaces da API Streams e eliminar diferen\u00e7as no comportamento das partes b\u00e1sicas do Node.js. Por exemplo, o comportamento de http.OutgoingMessage foi alinhado com o stream.Writable, enquanto net.Socket foi alinhado com stream.Duplex. A op\u00e7\u00e3o autoDestroy agora \u00e9 definida como &#171;true&#187; por padr\u00e3o, o que implica a chamada de &#171;_destroy&#187; ap\u00f3s a conclus\u00e3o.\n<li class=\"l\"> Adicionada suporte experimental para a API <noindex><a rel=\"nofollow\" href=\"https:\/\/nodejs.org\/api\/wasi.html\">WASI<\/a><\/noindex> (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=50406\">WebAssembly System Interface<\/a><\/noindex>), fornecendo interfaces de programa\u00e7\u00e3o para intera\u00e7\u00e3o direta com o sistema operacional (API POSIX para trabalhar com arquivos, sockets, etc.).\n<li class=\"l\"> Os requisitos foram aumentados para <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/nodejs\/node\/blob\/v12.x\/BUILDING.md#platform-list\">as vers\u00f5es m\u00ednimas<\/a><\/noindex> de compiladores e plataformas: macOS 10.13 (High Sierra), GCC 6,  <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/nodejs\/node\/pull\/31954\">Windows a partir da vers\u00e3o 7\/2008R2<\/a><\/noindex>.\n<\/ul>\n<p>Vale lembrar que a plataforma Node.js pode ser utilizada tanto para suporte servidor em aplica\u00e7\u00f5es web quanto para criar programas de rede cliente e servidor convencionais. Para ampliar a funcionalidade das aplica\u00e7\u00f5es Node.js, foi preparada uma grande <noindex><a rel=\"nofollow\" href=\"https:\/\/www.npmjs.com\/\">cole\u00e7\u00e3o de m\u00f3dulos<\/a><\/noindex>, onde \u00e9 poss\u00edvel encontrar m\u00f3dulos que implementam servidores e clientes HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, m\u00f3dulos para integra\u00e7\u00e3o com diversos frameworks web, manipuladores WebSocket e Ajax, conectores a bancos de dados (MySQL, PostgreSQL, SQLite, MongoDB), motores de template, motores CSS, implementa\u00e7\u00f5es de algoritmos criptogr\u00e1ficos e sistemas de autentica\u00e7\u00e3o (OAuth), parsers XML.<\/p>\n<p> Para garantir o processamento de um grande n\u00famero de solicita\u00e7\u00f5es paralelas, o Node.js utiliza um modelo ass\u00edncrono de execu\u00e7\u00e3o de c\u00f3digo, baseado em um processamento de eventos em modo n\u00e3o bloqueante e na defini\u00e7\u00e3o de manipuladores de callback. Os m\u00e9todos suportados para multiplexa\u00e7\u00e3o de conex\u00f5es incluem epoll, kqueue, \/dev\/poll e select. Para a multiplexa\u00e7\u00e3o de conex\u00f5es, a biblioteca <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/libuv\/libuv\">libuv<\/a><\/noindex>, que \u00e9 uma sobreposi\u00e7\u00e3o sobre <noindex><a rel=\"nofollow\" href=\"http:\/\/software.schmorp.de\/pkg\/libev.html\">libev<\/a><\/noindex> em sistemas Unix e sobre IOCP no Windows. Para criar um pool de threads, a biblioteca <noindex><a rel=\"nofollow\" href=\"http:\/\/software.schmorp.de\/pkg\/libeio.html\">libeio<\/a><\/noindex>, para realizar consultas DNS de forma n\u00e3o bloqueante, foi integrado <noindex><a rel=\"nofollow\" href=\"http:\/\/c-ares.haxx.se\/\">c-ares<\/a><\/noindex>. Todas as chamadas de sistema que causam bloqueio s\u00e3o realizadas dentro do pool de threads e, assim como os manipuladores de sinal, transmitem os resultados de suas opera\u00e7\u00f5es de volta atrav\u00e9s de um canal an\u00f4nimo (pipe). A execu\u00e7\u00e3o de c\u00f3digo JavaScript \u00e9 garantida atrav\u00e9s do motor desenvolvido pela Google <noindex><a rel=\"nofollow\" href=\"http:\/\/code.google.com\/p\/v8\/\">V8<\/a><\/noindex> (adicionalmente, a Microsoft desenvolve uma vers\u00e3o do Node.js com o motor Chakra-Core).  <\/p>\n<p>Essencialmente, o Node.js se assemelha aos frameworks <noindex><a rel=\"nofollow\" href=\"http:\/\/search.cpan.org\/dist\/AnyEvent\/\">Perl AnyEvent<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/eventmachine\/eventmachine\">Ruby Event Machine<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"http:\/\/twistedmatrix.com\/\">Python Twisted<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"http:\/\/wiki.tcl.tk\/1527\">a implementa\u00e7\u00e3o<\/a><\/noindex> eventos em Tcl, mas o ciclo de processamento de eventos (event loop) em Node.js \u00e9 oculto do desenvolvedor e se assemelha ao tratamento de eventos em um aplicativo da web rodando no navegador. Ao escrever aplicativos para Node.js, \u00e9 necess\u00e1rio considerar as particularidades da programa\u00e7\u00e3o orientada a eventos, por exemplo, em vez de executar &#171;var result = db.query(&#171;select..&#187;);&#187; aguardando a conclus\u00e3o e o subsequente processamento dos resultados, em Node.js utiliza-se o princ\u00edpio da execu\u00e7\u00e3o ass\u00edncrona, ou seja, o c\u00f3digo \u00e9 transformado em &#171;db.query(&#171;select..&#187;, function (result) {processamento do resultado});&#187;, onde o controle \u00e9 imediatamente transferido para o c\u00f3digo subsequente e o resultado da consulta ser\u00e1 processado \u00e0 medida que os dados chegarem. <\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Fonte: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52786\">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 14.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 14.0 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \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 14.0 \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0434\u043e \u0430\u043f\u0440\u0435\u043b\u044f 2023 \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 12.0 \u043f\u0440\u043e\u0434\u043b\u0438\u0442\u0441\u044f \u0434\u043e \u0430\u043f\u0440\u0435\u043b\u044f 2022 \u0433\u043e\u0434\u0430, \u0430 \u043f\u043e\u0437\u0430\u043f\u0440\u043e\u0448\u043b\u043e\u0439 LTS-\u0432\u0435\u0442\u043a\u0438 10.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-78969","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 14.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.\" \/>\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\/pt\/blog\/news\/vypusk-servernoj-javascript-platformy-node-js-14-0\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\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 14.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 14.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/news\/vypusk-servernoj-javascript-platformy-node-js-14-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=\"2020-04-23T11:42:02+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-04-23T11:42:02+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\udd47Lan\u00e7amento da plataforma Node.js 14.0 para JavaScript no servidor | ProHoster","description":"Foi lan\u00e7ado o Node.js 14.0, uma plataforma para execu\u00e7\u00e3o.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/vypusk-servernoj-javascript-platformy-node-js-14-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","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 14.0 | ProHoster","og:description":"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 14.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.","og:url":"https:\/\/prohoster.info\/pt\/blog\/news\/vypusk-servernoj-javascript-platformy-node-js-14-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":"2020-04-23T11:42:02+00:00","article:modified_time":"2020-04-23T11:42:02+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"78969","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-02-28 16:47:25","updated":"2022-10-01 20:48:10","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/78969","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=78969"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/78969\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=78969"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=78969"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=78969"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}