{"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\/nl\/blog\/administrirovanie\/budushhee-uzhe-zdes-ili-kodim-pryamo-v-brauzere","title":{"rendered":"De toekomst is hier of we coderen rechtstreeks in de browser","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ik zal een curieuze situatie vertellen die mij is overkomen, en hoe je een bijdrager kunt worden aan een bekend project.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nNiet zo lang geleden was ik bezig met een idee: het opstarten van Linux rechtstreeks vanuit UEFI... <br \/>\nHet idee is niet nieuw en er zijn verschillende handleidingen over dit onderwerp. Een daarvan is hier te bekijken. <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\">here<\/a><\/noindex><\/p>\n<p>Eigenlijk zijn mijn langdurige pogingen om deze kwestie op te lossen uitgegroeid tot een redelijk goed uitgewerkt plan. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/slytomcat\/UEFI-Boot\">oplossing<\/a><\/noindex>. De oplossing is volledig functioneel en ik gebruik het op een deel van mijn thuiscomputers. Dit wordt iets gedetailleerder beschreven. <noindex><a rel=\"nofollow\" href=\"https:\/\/help.ubuntu.ru\/wiki\/uefiboot\">here<\/a><\/noindex>.<\/p>\n<p>De essentie van UEFI-Boot is dat de ESP (EFI-systeempartitie) samenvalt met de map \/boot. Dat wil zeggen, alle kernels en initi\u00eble opstartbeelden (initrd) worden op diezelfde partitie geplaatst vanaf waar UEFI uitvoerbare bestanden kan starten en specifiek de opstartprogramma's van het systeem kan starten. Maar de kernel van Linux wordt al in veel distributies samengesteld met de UEFISTUB-optie, die het mogelijk maakt de kernel zelf vanuit UEFI te starten.<\/p>\n<p>Er is \u00e9\u00e9n onaangenaam aspect aan deze oplossing: de ESP-partitie is geformatteerd in FAT32, waar je geen harde links kunt maken (die het systeem regelmatig maakt bij het bijwerken van initrd). En daar is verder niets ernstig aan, maar het is niet prettig om waarschuwingen van het systeem te zien bij het bijwerken van de kernelcomponenten...<\/p>\n<p>Er is ook een andere weg. <\/p>\n<p>De UEFI-opstartbeheerder (de plaats waar je de opstarter van het besturingssysteem moet registreren) kan naast opstartprogramma's\/kernels van Linux ook stuurprogramma's laden. Dus je kunt het stuurprogramma van het bestandssysteem, waar \/boot zich bevindt, laden en daar direct de kernel opstarten met UEFI-middelen. Het stuurprogramma moet uiteraard in de ESP-partitie worden geplaatst. Dit is ongeveer wat opstartprogramma's zoals GRUB doen. Maar het interessante is dat alle vaak gebruikte functies van GRUB al in UEFI aanwezig zijn. Juist, in zijn opstartbeheerder. En om het nog ingewikkelder te maken, de UEFI-opstartbeheerder heeft zelfs meer mogelijkheden in bepaalde opzichten. <\/p>\n<p>Het lijkt een mooie oplossing, maar er is \u00e9\u00e9n \"MAAR\" (of eerder was het, maar daarover later meer). Het probleem is dat het UEFI-driver systeem behoorlijk eenvoudig is opgebouwd. Er is geen concept zoals het monteren van een bestandssysteem of het koppelen van een driver aan een specifiek apparaat. Er is een systeemaanroep met de voorwaardelijke naam Map die elk driver een voor een oppakt en probeert deze te koppelen aan alle, min of meer geschikte apparaten. En als de driver een apparaat kan koppelen, wordt er een mapping \u2014 een koppelvermelding \u2014 aangemaakt. Op precies die manier moet de opnieuw geladen driver worden ge\u00efnitialiseerd binnen de grote hoop van alle anderen. En alles wat nodig is \u2014 in het opstartrecord van de driver gewoon \u00e9\u00e9n bit (LOAD_OPTION_FORCE_RECONNECT) op 1 zetten, en UEFI zal na de laadtijd deze globale remap uitvoeren.<\/p>\n<p>Maar dit is niet zo eenvoudig te doen. De standaardtool efibootmgr (deze wordt gebruikt om de UEFI-laadbeheer configuratie in te stellen) kan (of beter gezegd kon) dit bit niet zetten. Je moest het met de hand doen via een vrij complexe en gevaarlijke procedure. <\/p>\n<p>En weer eens, terwijl ik het met de hand probeerde te doen, kon ik het niet langer volhouden en heb ik <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/rhboot\/efibootmgr\/issues\/108\">een issue op GitHub aangemaakt<\/a><\/noindex> met het verzoek aan de ontwikkelaars om deze mogelijkheid toe te voegen.<\/p>\n<p>Er zijn enkele dagen verstreken, maar niemand heeft op mijn verzoek gereageerd. En uit nieuwsgierigheid heb ik de broncode bekeken\u2026 geforkt, en bedacht hoe ik deze functie \"uit de losse pols\" kon toevoegen\u2026 \"uit de losse pols\" omdat ik niets bijzonders had ge\u00efnstalleerd en de broncode gewoon in de browser bewerkte.<\/p>\n<p>Van C (de programmeertaal) weet ik heel oppervlakkig iets af, maar ik heb ongeveer een oplossing in elkaar gezet (voornamelijk door te kopi\u00ebren en plakken)\u2026 goed, later dacht ik \u2014 als ik daar toch ongetwijfeld vol fouten zit (mijn eerdere pogingen om iemands C-code te corrigeren verzamelden zich pas na de tiende poging) laat ik maar een Pull Request indienen. En toen <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/rhboot\/efibootmgr\/pull\/109\">heb ik het ingediend.<\/a><\/noindex>.<\/p>\n<p>Blijkbaar was er Travis CI aangesloten voor het controleren van pull requests. En hij gaf me zorgvuldig al mijn fouten aan. Nou, als de fouten bekend zijn \u2014 waarom ze niet corrigeren: weer direct in de browser, en na de vierde poging compileerde de code (een prestatie voor mij).<\/p>\n<p>En zo heb ik, zonder mijn browser te verlaten, een volkomen re\u00eble Pull Request ingediend voor de tool die praktisch in alle moderne Linux-distributies wordt gebruikt.<\/p>\n<p>Ik was zelf verbaasd over het feit dat ik, zonder de taal echt te kennen en zonder iets zelf in te stellen (er zijn daar nogal wat afhankelijkheden van verschillende bibliotheken nodig voor de opbouw), en zelfs zonder ooit de compiler te hebben opgestart, gewoon in de browser een vrij werkende en nuttige functie 'gecodeerd' heb.<\/p>\n<p>Echter, mijn verzoek hing zonder reactie sinds 19 maart 2019, en ik begon er al over te vergeten. <\/p>\n<p>Maar gisteren werd dit verzoek toegevoegd aan de master. <\/p>\n<p>\nWaar gaat mijn verhaal over? Het gaat erover dat het in de moderne technologie mogelijk is om echte code te schrijven in de browser, zonder lokaal enige ontwikkeltools en afhankelijkheden op te zetten.<\/p>\n<p>Overigens, ik moet toegeven, dit is mijn tweede pull request voor bekende (tenzij in kleine kringen) tools. De vorige keer leidde mijn verzoek om enkele velden in de webinterface van SyncThing aan te passen tot mijn letterlijk eenregelige aanpassing in een omgeving die ik helemaal niet ken.<\/p>\n<p class=\"for_users_only_msg\">Alleen geregistreerde gebruikers kunnen deelnemen aan de enqu\u00eate. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Log in<\/a><\/noindex>, alstublieft.<\/p>\n<h2 class=\"default-block__polling-title\">Moet ik nog meer schrijven of niet?<\/h2>\n<ul class=\"content-list content-list_polling\">\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    ja<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    niet aan te raden is<\/p>\n<\/li>\n<\/ul>\n<p>    294 gebruikers hebben gestemd. 138 gebruikers hebben zich onthouden.<br \/>\n<br \/>Bron: <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.3 - 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\/nl\/blog\/administrirovanie\/budushhee-uzhe-zdes-ili-kodim-pryamo-v-brauzere\" \/>\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\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\/nl\/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\udd47De toekomst is hier of we coderen gewoon in de browser | ProHoster","description":"Ik zal een curieuze situatie vertellen die me overkwam en hoe je een bijdrager wordt aan een bekend project. Niet lang geleden had ik een idee: het uploaden.","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/budushhee-uzhe-zdes-ili-kodim-pryamo-v-brauzere","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\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\/nl\/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\/nl\/wp-json\/wp\/v2\/posts\/38908","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=38908"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/38908\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=38908"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=38908"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=38908"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}