{"id":38908,"date":"2019-10-31T22:26:41","date_gmt":"2019-10-31T19:26:41","guid":{"rendered":"https:\/\/prohoster.info\/blog\/budushhee-uzhe-zdes-ili-kodim-pryamo-v-brauzere\/"},"modified":"2019-10-31T22:26:41","modified_gmt":"2019-10-31T19:26:41","slug":"budushhee-uzhe-zdes-ili-kodim-pryamo-v-brauzere","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/budushhee-uzhe-zdes-ili-kodim-pryamo-v-brauzere","title":{"rendered":"Il futuro \u00e8 gi\u00e0 qui o stiamo codificando direttamente nel browser","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Vi racconter\u00f2 di una situazione curiosa che \u00e8 accaduta a me e di come diventare un contributore in un progetto noto.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nNon molto tempo fa, stavo lavorando su un'idea: il caricamento di Linux direttamente da UEFI... <br \/>\nL'idea non \u00e8 nuova e ci sono alcune guide su questo tema. Una di esse pu\u00f2 essere consultata <noindex><a rel=\"nofollow\" href=\"https:\/\/help.ubuntu.ru\/wiki\/uefi#%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0_%D1%8F%D0%B4%D1%80%D0%B0_linux_%D0%BD%D0%B5%D0%BF%D0%BE%D1%81%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE_%D0%B8%D0%B7_uefi\">qui<\/a><\/noindex><\/p>\n<p>Le mie lunghe tentativi di risolvere questa questione si sono tradotti in un qualcosa di ben definito <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/slytomcat\/UEFI-Boot\">risultato<\/a><\/noindex>. La soluzione \u00e8 pienamente funzionante e la utilizzo su alcune delle mie macchine domestiche. Questa soluzione \u00e8 descritta in modo pi\u00f9 dettagliato <noindex><a rel=\"nofollow\" href=\"https:\/\/help.ubuntu.ru\/wiki\/uefiboot\">qui<\/a><\/noindex>.<\/p>\n<p>Il punto principale dell'UEFI-Boot \u00e8 che la partizione ESP (EFI System Partition) si combina con la directory \/boot. Cio\u00e8, tutti i kernel e le immagini di avvio iniziale (initrd) vengono collocati nella stessa partizione da cui UEFI pu\u00f2 eseguire file eseguibili e, in particolare, avviare i caricamenti di sistema. Ma il kernel Linux stesso \u00e8 gi\u00e0 compilato in molte distribuzioni con l'opzione UEFISTUB, che permette al kernel di avviarsi da UEFI.<\/p>\n<p>C'\u00e8 un aspetto spiacevole in questa soluzione: la partizione ESP \u00e8 formattata in FAT32, sulla quale non \u00e8 possibile creare link rigidi (che il sistema crea regolarmente durante l'aggiornamento di initrd). Non c'\u00e8 nulla di particolarmente criminale in questo, ma vedere avvisi di sistema durante l'aggiornamento dei componenti del kernel non \u00e8 granch\u00e9 piacevole...<\/p>\n<p>Esiste anche un'altra via. <\/p>\n<p>Il gestore di avvio UEFI (quello in cui \u00e8 necessario specificare il caricatore del sistema operativo) \u00e8 in grado di caricare, oltre ai caricamenti\/kernel Linux, anche i driver. Quindi \u00e8 possibile caricare il driver di quel file system dove hai la tua directory \/boot e caricare direttamente il kernel tramite UEFI. Il driver, ovviamente, deve essere collocato nella partizione ESP. Circa questo si occupano i caricatori come GRUB. Ma il punto interessante \u00e8 che tutte le funzioni frequentemente utilizzate di GRUB sono gi\u00e0 disponibili in UEFI. Pi\u00f9 precisamente, nel suo gestore di avvio. E se vogliamo essere ancora pi\u00f9 precisi, il gestore di avvio UEFI ha anche pi\u00f9 opzioni su alcune questioni. <\/p>\n<p>Sembra una soluzione elegante, ma c'\u00e8 un \u00abMA\u00bb (anzi, c'era, ma ne parler\u00f2 dopo). Il fatto \u00e8 che il sistema di driver UEFI \u00e8 piuttosto semplice. Non c'\u00e8 un concetto di montaggio del file system o di collegamento del driver a un dispositivo specifico. C'\u00e8 una chiamata di sistema con un nome provvisorio, Map, che prende il controllo di ogni driver e cerca di collegarlo a tutti i dispositivi pi\u00f9 o meno adatti. E se il driver riesce a collegarsi al dispositivo, allora viene creato un mapping \u2014 una voce di collegamento. \u00c8 cos\u00ec che il nuovo driver deve essere inizializzato insieme a tutti gli altri. Bastano solo due cose: impostare un bit (LOAD_OPTION_FORCE_RECONNECT) a 1 nella voce di avvio del driver e UEFI far\u00e0 questo famoso remapping globale dopo il caricamento.<\/p>\n<p>Solo che fare tutto ci\u00f2 non \u00e8 cos\u00ec semplice. L'utility standard efibootmgr (con la quale si configura il gestore di avvio UEFI) non riesce (o meglio, non riusciva) a impostare questo bit. Era necessario impostarlo manualmente attraverso una procedura piuttosto complessa e pericolosa. <\/p>\n<p>E cos\u00ec, provando ancora una volta a farlo a mano, non ho retto e ho aperto <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/rhboot\/efibootmgr\/issues\/108\">un'issue su GitHub<\/a><\/noindex> con la richiesta agli sviluppatori di aggiungere questa funzionalit\u00e0.<\/p>\n<p>Sono passati alcuni giorni, ma nessuno ha prestato attenzione alla mia richiesta. E cos\u00ec, per curiosit\u00e0, ho dato un'occhiata al codice sorgente\u2026 l'ho forkato, e ho iniziato a pensare come aggiungere questa funzione\u2026 \"pensando\" perch\u00e9 non avevo installato nulla e modificavo il codice sorgente direttamente nel browser.<\/p>\n<p>Con il C (linguaggio di programmazione) conosco abbastanza poco, ma ho abbozzato una soluzione (principalmente copiando e incollando)\u2026 poi ho pensato: e sebbene ci siano sicuramente un sacco di errori (le mie precedenti tentativi di modificare codice C di altri erano andate a buon fine dopo circa dieci tentativi), perch\u00e9 non presentare un Pull Request. E cos\u00ec <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/rhboot\/efibootmgr\/pull\/109\">l'ho presentato.<\/a><\/noindex>.<\/p>\n<p>E l\u00e0 c'era Travis CI attaccato per controllare i pull request. E mi ha restituito con diligenza tutti i miei errori. Beh, se ci sono errori noti, perch\u00e9 non correggerli: di nuovo direttamente nel browser e, con il quarto tentativo, il codice \u00e8 stato compilato (un successo per me).<\/p>\n<p>E cos\u00ec, senza uscire dal browser, ho presentato un Pull Request piuttosto concreto per l'utility utilizzata praticamente in tutte le moderne distribuzioni Linux.<\/p>\n<p>Sono rimasto sorpreso dal fatto che, pur non conoscendo bene la lingua e senza configurare nulla (l\u00ec servono diverse librerie per la compilazione), e senza nemmeno avviare il compilatore, sono riuscito a scrivere nel browser una funzionalit\u00e0 completamente funzionante e utile.<\/p>\n<p>Tuttavia, la mia richiesta \u00e8 stata in attesa di risposta dal 19 marzo 2019, e stavo per dimenticarmene. <\/p>\n<p>Ma ieri questa richiesta \u00e8 stata aggiunta nel master. <\/p>\n<p>\nDi cosa parla quindi la mia storia? Riguarda il fatto che, nell\u2019ambito delle tecnologie moderne, si \u00e8 scoperto che \u00e8 possibile scrivere codice reale direttamente nel browser, senza dover installare localmente strumenti di sviluppo e dipendenze.<\/p>\n<p>Va detto che questo \u00e8 gi\u00e0 il mio secondo pull request a strumenti noti (almeno in cerchie ristrette). L'ultima volta la mia richiesta di correggere la visualizzazione di alcuni campi nell'interfaccia web di SyncThing si \u00e8 tradotta in una modifica letteralmente di una riga in un ambiente che non conoscevo affatto.<\/p>\n<p class=\"for_users_only_msg\">Solo gli utenti registrati possono partecipare al sondaggio. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Accedi<\/a><\/noindex>, per favore.<\/p>\n<h2 class=\"default-block__polling-title\">Vale la pena continuare a scrivere?<\/h2>\n<ul class=\"content-list content-list_polling\">\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    s\u00ec<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    non \u00e8 conveniente<\/p>\n<\/li>\n<\/ul>\n<p>    Sono stati votati 294 utenti. 138 utenti si sono astenuti.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/471266\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0420\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u043a\u0443\u0440\u044c\u0435\u0437\u043d\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438, \u0441\u043b\u0443\u0447\u0438\u0432\u0448\u0435\u0439\u0441\u044f \u0441\u043e \u043c\u043d\u043e\u0439, \u0438 \u043e \u0442\u043e\u043c \u043a\u0430\u043a \u0441\u0442\u0430\u0442\u044c \u043a\u043e\u043d\u0440\u0438\u0431\u044c\u044e\u0442\u043e\u0440\u043e\u043c \u0432 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442. \u041d\u0435 \u0442\u0430\u043a \u0434\u0430\u0432\u043d\u043e \u0432\u043e\u0437\u0438\u043b\u0441\u044f \u044f \u0441 \u043e\u0434\u043d\u043e\u0439 \u0438\u0434\u0435\u0435\u0439: \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 Linux \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0438\u0437 UEFI\u2026 \u0418\u0434\u0435\u044f \u043d\u0435 \u043d\u043e\u0432\u0430 \u0438 \u0435\u0441\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043c\u0430\u043d\u0443\u0430\u043b\u043e\u0432 \u043d\u0430 \u044d\u0442\u0443 \u0442\u0435\u043c\u0443. \u041e\u0434\u0438\u043d \u0438\u0437 \u043d\u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0442\u0443\u0442 \u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043c\u043e\u0438 \u0434\u0430\u0432\u043d\u0438\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u0440\u0435\u0448\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441 \u0432\u044b\u043b\u0438\u043b\u0438\u0441\u044c \u0432\u043e [&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":[688],"tags":[],"class_list":["post-38908","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0420\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u043a\u0443\u0440\u044c\u0435\u0437\u043d\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438, \u0441\u043b\u0443\u0447\u0438\u0432\u0448\u0435\u0439\u0441\u044f \u0441\u043e \u043c\u043d\u043e\u0439, \u0438 \u043e \u0442\u043e\u043c \u043a\u0430\u043a \u0441\u0442\u0430\u0442\u044c \u043a\u043e\u043d\u0440\u0438\u0431\u044c\u044e\u0442\u043e\u0440\u043e\u043c \u0432 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442. \u041d\u0435 \u0442\u0430\u043a \u0434\u0430\u0432\u043d\u043e \u0432\u043e\u0437\u0438\u043b\u0441\u044f \u044f \u0441 \u043e\u0434\u043d\u043e\u0439 \u0438\u0434\u0435\u0435\u0439: \u0437\u0430\u0433\u0440\u0443\u0437\u043a\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\/it\/blog\/administrirovanie\/budushhee-uzhe-zdes-ili-kodim-pryamo-v-brauzere\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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\u0411\u0443\u0434\u0443\u0449\u0435\u0435 \u0443\u0436\u0435 \u0437\u0434\u0435\u0441\u044c \u0438\u043b\u0438 \u043a\u043e\u0434\u0438\u043c \u043f\u0440\u044f\u043c\u043e \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0420\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u043a\u0443\u0440\u044c\u0435\u0437\u043d\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438, \u0441\u043b\u0443\u0447\u0438\u0432\u0448\u0435\u0439\u0441\u044f \u0441\u043e \u043c\u043d\u043e\u0439, \u0438 \u043e \u0442\u043e\u043c \u043a\u0430\u043a \u0441\u0442\u0430\u0442\u044c \u043a\u043e\u043d\u0440\u0438\u0431\u044c\u044e\u0442\u043e\u0440\u043e\u043c \u0432 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442. \u041d\u0435 \u0442\u0430\u043a \u0434\u0430\u0432\u043d\u043e \u0432\u043e\u0437\u0438\u043b\u0441\u044f \u044f \u0441 \u043e\u0434\u043d\u043e\u0439 \u0438\u0434\u0435\u0435\u0439: \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/budushhee-uzhe-zdes-ili-kodim-pryamo-v-brauzere\" \/>\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=\"2019-10-31T19:26:41+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:26:41+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\udd47Il futuro \u00e8 gi\u00e0 qui o stiamo programmando direttamente nel browser | ProHoster","description":"Vi racconter\u00f2 un episodio curioso che mi \u00e8 accaduto e come diventare un contributore in un progetto noto. Non molto tempo fa stavo sperimentando un'idea: il caricamento.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/budushhee-uzhe-zdes-ili-kodim-pryamo-v-brauzere","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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\u0411\u0443\u0434\u0443\u0449\u0435\u0435 \u0443\u0436\u0435 \u0437\u0434\u0435\u0441\u044c \u0438\u043b\u0438 \u043a\u043e\u0434\u0438\u043c \u043f\u0440\u044f\u043c\u043e \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 | ProHoster","og:description":"\u0420\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u043a\u0443\u0440\u044c\u0435\u0437\u043d\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438, \u0441\u043b\u0443\u0447\u0438\u0432\u0448\u0435\u0439\u0441\u044f \u0441\u043e \u043c\u043d\u043e\u0439, \u0438 \u043e \u0442\u043e\u043c \u043a\u0430\u043a \u0441\u0442\u0430\u0442\u044c \u043a\u043e\u043d\u0440\u0438\u0431\u044c\u044e\u0442\u043e\u0440\u043e\u043c \u0432 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442. \u041d\u0435 \u0442\u0430\u043a \u0434\u0430\u0432\u043d\u043e \u0432\u043e\u0437\u0438\u043b\u0441\u044f \u044f \u0441 \u043e\u0434\u043d\u043e\u0439 \u0438\u0434\u0435\u0435\u0439: \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430.","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/budushhee-uzhe-zdes-ili-kodim-pryamo-v-brauzere","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":"2019-10-31T19:26:41+00:00","article:modified_time":"2019-10-31T19:26:41+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"38908","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":"2026-01-23 23:55:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:00:27","updated":"2026-01-23 23:55:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/38908","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=38908"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/38908\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=38908"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=38908"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=38908"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}