{"id":102509,"date":"2021-12-07T15:37:11","date_gmt":"2021-12-07T13:37:11","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/tretya-redakcziya-patchej-dlya-yadra-linux-s-podderzhkoj-yazyka-rust"},"modified":"2021-12-07T15:37:11","modified_gmt":"2021-12-07T13:37:11","slug":"tretya-redakcziya-patchej-dlya-yadra-linux-s-podderzhkoj-yazyka-rust","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/news\/tretya-redakcziya-patchej-dlya-yadra-linux-s-podderzhkoj-yazyka-rust","title":{"rendered":"Die dritte Version der Patches f\u00fcr den Linux-Kernel mit Unterst\u00fctzung f\u00fcr die Programmiersprache Rust","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Miguel Ojeda, Autor des Rust-for-Linux-Projekts, hat den Entwicklern des Linux-Kernels einen dritten Vorschlag f\u00fcr Komponenten zur Entwicklung von Ger\u00e4tetreibern in Rust vorgelegt. Die Unterst\u00fctzung von Rust wird als experimentell betrachtet, ist jedoch bereits f\u00fcr die Aufnahme in den linux-next-Zweig genehmigt. Die Entwicklung wird von Google und der ISRG (Internet Security Research Group) finanziert, die das Let\u2019s Encrypt-Projekt gegr\u00fcndet hat und die F\u00f6rderung von HTTPS sowie die Entwicklung von Technologien zur Verbesserung der Internetsicherheit unterst\u00fctzt.            <\/p>\n<p>Wir m\u00f6chten daran erinnern, dass die vorgeschlagenen \u00c4nderungen die M\u00f6glichkeit bieten, Rust als zweite Sprache zur Entwicklung von Treibern und Modulen im Kernel zu verwenden. Die Rust-Unterst\u00fctzung wird als Option pr\u00e4sentiert, die standardm\u00e4\u00dfig nicht aktiviert ist und nicht dazu f\u00fchrt, dass Rust zu den obligatorischen Build-Abh\u00e4ngigkeiten im Kernel hinzugef\u00fcgt wird. Der Einsatz von Rust zur Treiberentwicklung erm\u00f6glicht es, mit minimalem Aufwand sichere und qualitativ hochwertige Treiber zu erstellen, die von Problemen wie dem Zugriff auf Speicherbereiche nach deren Freigabe, der Dereferenzierung von Nullzeigern und Puffer\u00fcberl\u00e4ufen befreit sind.    <\/p>\n<p>Die sichere Arbeit mit Speicher wird in Rust w\u00e4hrend der Kompilierung durch \u00dcberpr\u00fcfung von Referenzen, Verfolgung des Eigentums an Objekten und Ber\u00fccksichtigung der Lebensdauer von Objekten (Sichtbarkeitsbereich) sowie durch die Beurteilung der Korrektheit des Zugriffs auf den Speicher zur Laufzeit des Codes gew\u00e4hrleistet. Rust bietet auch Mittel zum Schutz vor ganzzahligen \u00dcberl\u00e4ufen, erfordert die zwingende Initialisierung von Variablen vor deren Verwendung, behandelt Fehler in der Standardbibliothek besser, wendet das Konzept der Immutabilit\u00e4t (unver\u00e4nderlich) auf Referenzen und Variablen standardm\u00e4\u00dfig an und bietet eine starke statische Typisierung zur Minimierung logischer Fehler.    <\/p>\n<p>In der neuen Version der Patches wurden die Anmerkungen, die w\u00e4hrend der Diskussion der ersten und zweiten Patch-Versionen ge\u00e4u\u00dfert wurden, weiter bearbeitet. Die auff\u00e4lligsten \u00c4nderungen sind:  <\/p>\n<ul>\n<li class=\"l\"> Es wurde auf die Verwendung des stabilen Compilers Rust 1.57 als Referenz umgestellt, und es wurde eine Bindung an die stabilisierte Version der Programmiersprache Rust 2021 gew\u00e4hrleistet. Zuvor waren die Patches an die Beta-Branch von Rust gebunden und verwendeten einige Funktionen der Sprache, die in die Kategorie instabil fallen. Der Umstieg auf die Spezifikation Rust 2021 hat es erm\u00f6glicht, die Arbeit an der Abschaffung der Verwendung solcher instabilen Funktionen in den Patches zu initiieren, wie const_fn_transmute, const_panic, const_unreachable_unchecked, core_panic und try_reserve.\n<li class=\"l\"> Die Entwicklung der Rust-Bibliothek alloc, die Teil der Patches ist, wurde fortgesetzt. Sie wurde so ge\u00e4ndert, dass Funktionen zur Speicherverteilung von m\u00f6glichen \u201epanic\u201c-Zust\u00e4nden bei Fehlern, wie z. B. Speichermangel, befreit sind. In der neuen Version wurden die Optionen \u201eno_rc\u201c und \u201eno_sync\u201c implementiert, um nicht im Rust-Code f\u00fcr den Kernel verwendete Funktionalit\u00e4ten zu deaktivieren, wodurch die Bibliothek modularer wird. Die Zusammenarbeit mit den Hauptentwicklern von alloc geht weiter, mit dem Ziel, notwendige \u00c4nderungen f\u00fcr den Kernel in die Hauptbibliothek zu integrieren. In die grundlegende Rust-Bibliothek (core) wurde die Option \u201eno_fp_fmt_parse\u201c \u00fcbertragen, die f\u00fcr den Betrieb der Bibliothek auf Kernel-Ebene erforderlich ist.\n<li class=\"l\"> Der Code wurde bereinigt, um m\u00f6gliche Warnungen des Compilers beim Bauen des Kernels im CONFIG_WERROR-Modus zu vermeiden. Beim Kompilieren des Codes in Rust wurden zus\u00e4tzlich diagnostische Modi des Compilers und Warnungen des Linters Clippy aktiviert.\n<li class=\"l\"> Abstraktionen f\u00fcr die Nutzung im Rust-Code von Seqlock-Sperren, Callback-Aufrufen zur Stromverwaltung, I\/O-Speicher (readX\/writeX), Interrupt-Handler sowie Threads, GPIO, Ger\u00e4tezugriff, Treiber und Anmeldedaten wurden vorgeschlagen.\n<li class=\"l\"> Die Entwicklungswerkzeuge f\u00fcr Treiber wurden mit dem Einsatz von verschiebbaren Mutexen, Bit-Iteratoren, vereinfachten Wrappern f\u00fcr Zeiger, verbesserter Fehlersdiagnose und einer infrastructure unabh\u00e4ngig von der Datenschnittstelle erweitert.\n<li class=\"l\"> Die Arbeit mit Referenzen wurde durch einen vereinfachten Typ Ref verbessert, der auf dem Backend refcount_t basiert und die gleichnamige Kernel-API zur Z\u00e4hlung von Referenzen verwendet. Die Unterst\u00fctzung der Typen Arc und Rc, die in der Standardbibliothek alloc bereitgestellt werden, wurde entfernt und ist im Kernel-Code nicht mehr verf\u00fcgbar (f\u00fcr die Bibliothek sind Optionen vorbereitet, um diese Typen zu deaktivieren).\n<li class=\"l\"> In die Patches wurde eine Variante des PL061 GPIO-Treibers aufgenommen, die in Rust neu geschrieben wurde. Das Besondere an diesem Treiber ist, dass seine Implementierung zeilenweise dem bestehenden GPIO-Treiber in C entspricht. F\u00fcr Entwickler, die sich mit der Erstellung von Treibern in Rust vertraut machen m\u00f6chten, wurde ein zeilenweiser Vergleich vorbereitet, der zeigt, in welche Rust-Konstrukte der C-Code umgesetzt wurde.\n<li class=\"l\"> Der rustc_codegen_gcc, das Backend rustc f\u00fcr GCC, wurde in die Hauptcodebasis von Rust aufgenommen, das die M\u00f6glichkeit einer vorausschauenden (AOT) Kompilierung mit der Bibliothek libgccjit realisiert. Bei entsprechender Weiterentwicklung des Backends wird es m\u00f6glich sein, den im Kernel verwendeten Rust-Code mit GCC zu kompilieren.\n<li class=\"l\"> Zus\u00e4tzlich zu den Firmen ARM, Google und Microsoft hat auch Red Hat Interesse an der Nutzung der Programmiersprache Rust im Linux-Kernel bekundet. Wir erinnern daran, dass Google direkt das Projekt Rust for Linux unterst\u00fctzt, eine neue Implementierung des Inter-Process-Communication-Mechanismus Binder in Rust entwickelt und die M\u00f6glichkeit einer Neuentwicklung verschiedener Treiber in Rust in Betracht zieht. Microsoft hat mit der Implementierung von Treibern f\u00fcr Hyper-V in Rust begonnen. ARM arbeitet an der Verbesserung der Rust-Unterst\u00fctzung f\u00fcr Systeme auf Basis von ARM-Prozessoren. IBM hat die Unterst\u00fctzung von Rust im Kernel f\u00fcr PowerPC-Systeme implementiert.      <\/ul>\n<p>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=56295\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041c\u0438\u0433\u0435\u043b\u044c \u041e\u0445\u0435\u0434\u0430 (Miguel Ojeda), \u0430\u0432\u0442\u043e\u0440 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Rust-for-Linux, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b \u0434\u043b\u044f \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u044f\u0434\u0440\u0430 Linux \u0442\u0440\u0435\u0442\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Rust \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u0430\u044f, \u043d\u043e \u0443\u0436\u0435 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0430 \u0434\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0432 \u0432\u0435\u0442\u043a\u0443 linux-next. \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0444\u0438\u043d\u0430\u043d\u0441\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0435\u0439 Google \u0438 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0435\u0439 ISRG (Internet Security Research Group), \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0443\u0447\u0440\u0435\u0434\u0438\u0442\u0435\u043b\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Let&#8217;s Encrypt \u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0441\u0442\u0432\u0443\u0435\u0442 [&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-102509","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041c\u0438\u0433\u0435\u043b\u044c \u041e\u0445\u0435\u0434\u0430 (Miguel Ojeda), \u0430\u0432\u0442\u043e\u0440 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Rust-for-Linux, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b \u0434\u043b\u044f \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u044f\u0434\u0440\u0430 Linux \u0442\u0440\u0435\u0442\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.\" \/>\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\/de\/blog\/news\/tretya-redakcziya-patchej-dlya-yadra-linux-s-podderzhkoj-yazyka-rust\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\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\u0422\u0440\u0435\u0442\u044c\u044f \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044f \u043f\u0430\u0442\u0447\u0435\u0439 \u0434\u043b\u044f \u044f\u0434\u0440\u0430 Linux \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u044f\u0437\u044b\u043a\u0430 Rust | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041c\u0438\u0433\u0435\u043b\u044c \u041e\u0445\u0435\u0434\u0430 (Miguel Ojeda), \u0430\u0432\u0442\u043e\u0440 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Rust-for-Linux, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b \u0434\u043b\u044f \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u044f\u0434\u0440\u0430 Linux \u0442\u0440\u0435\u0442\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/news\/tretya-redakcziya-patchej-dlya-yadra-linux-s-podderzhkoj-yazyka-rust\" \/>\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-12-07T13:37:11+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-12-07T13:37:11+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\udd47Dritte Ausgabe der Patches f\u00fcr den Linux-Kernel mit Unterst\u00fctzung der Programmiersprache Rust | ProHoster","description":"Miguel Ojeda, der Autor des Rust-for-Linux-Projekts, hat den Entwicklern des Linux-Kerns eine dritte Variante von Komponenten zur Entwicklung von Ger\u00e4tetreibern in der Programmiersprache Rust zur Pr\u00fcfung angeboten.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/news\/tretya-redakcziya-patchej-dlya-yadra-linux-s-podderzhkoj-yazyka-rust","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","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\u0422\u0440\u0435\u0442\u044c\u044f \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044f \u043f\u0430\u0442\u0447\u0435\u0439 \u0434\u043b\u044f \u044f\u0434\u0440\u0430 Linux \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u044f\u0437\u044b\u043a\u0430 Rust | ProHoster","og:description":"\u041c\u0438\u0433\u0435\u043b\u044c \u041e\u0445\u0435\u0434\u0430 (Miguel Ojeda), \u0430\u0432\u0442\u043e\u0440 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Rust-for-Linux, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b \u0434\u043b\u044f \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u044f\u0434\u0440\u0430 Linux \u0442\u0440\u0435\u0442\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.","og:url":"https:\/\/prohoster.info\/de\/blog\/news\/tretya-redakcziya-patchej-dlya-yadra-linux-s-podderzhkoj-yazyka-rust","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-12-07T13:37:11+00:00","article:modified_time":"2021-12-07T13:37:11+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"102509","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":"2021-12-07 13:37:18","updated":"2022-09-27 15:07:34","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/102509","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=102509"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/102509\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=102509"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=102509"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=102509"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}