{"id":237,"date":"2018-07-25T20:21:10","date_gmt":"2018-07-25T20:21:10","guid":{"rendered":"http:\/\/www.volucer.it\/?p=237"},"modified":"2018-07-25T20:30:13","modified_gmt":"2018-07-25T20:30:13","slug":"on-php-server-side-just-some-notes","status":"publish","type":"post","link":"https:\/\/www.volucer.it\/?p=237","title":{"rendered":"On PHP Server Side: just some notes"},"content":{"rendered":"<h3 class=\"western\"><span lang=\"en-GB\">The PHP Server Engine Architecture<\/span><\/h3>\n<p align=\"justify\"><span style=\"font-size: large;\"><span lang=\"en-GB\">PHP is a recursive acronym that stands for \u201c<\/span><\/span><span style=\"font-size: large;\"><span lang=\"en-GB\"><i>PHP Hypertext Preprocessor<\/i><\/span><\/span><span style=\"font-size: large;\"><span lang=\"en-GB\">\u201d (though it originally stood for \u201c<\/span><\/span><span style=\"font-size: large;\"><span lang=\"en-GB\"><i>Personal Home Page<\/i><\/span><\/span><span style=\"font-size: large;\"><span lang=\"en-GB\">\u201d in 1995). It allows embedding code within HTML templates, using a language similar to Perl and Unix shells.<\/span><\/span><\/p>\n<p align=\"justify\"><span style=\"font-size: large;\"><span lang=\"en-GB\">It is parsed and executed by the Zend Engine on the server side. <\/span><\/span><\/p>\n<figure id=\"attachment_238\" aria-describedby=\"caption-attachment-238\" style=\"width: 695px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-238 size-full\" src=\"http:\/\/www.volucer.it\/wp-content\/uploads\/2018\/07\/PHPWebServerArchitecture.png\" alt=\"PHP Web Server\" width=\"695\" height=\"509\" srcset=\"https:\/\/www.volucer.it\/wp-content\/uploads\/2018\/07\/PHPWebServerArchitecture.png 695w, https:\/\/www.volucer.it\/wp-content\/uploads\/2018\/07\/PHPWebServerArchitecture-300x220.png 300w\" sizes=\"auto, (max-width: 695px) 100vw, 695px\" \/><figcaption id=\"caption-attachment-238\" class=\"wp-caption-text\">Figure 1 - PHP Web Server Architecture<\/figcaption><\/figure>\n<p align=\"justify\"><span style=\"font-size: large;\"><span lang=\"en-GB\"><b>Zend<\/b><\/span><\/span> <span style=\"font-size: large;\">refers to the language engine, PHP's core.<\/span><span style=\"font-size: large;\"><span lang=\"en-GB\"> \u201cThe <\/span><\/span><span style=\"font-size: large;\"><span lang=\"en-GB\"><b>Zend Engine<\/b><\/span><\/span><span style=\"font-size: large;\"><span lang=\"en-GB\"> is an open source scripting engine opcode-based<\/span><\/span><span style=\"font-size: large;\">:<\/span><span style=\"font-size: large;\"><span lang=\"en-GB\"> (a Virtual Machine), commonly known for the important role it plays in the web automation language PHP. It was originally developed by Andi Gutmans and Zeev Suraski while they were students at the Technion - Israel Institute of Technology. They later founded a company called Zend Technologies in Ramat Gan, Israel. The name Zend is a combination of their forenames, Zeev and Andi.\u201d<a class=\"sdfootnoteanc\" href=\"#sdfootnote1sym\" name=\"sdfootnote1anc\"><sup>1<\/sup><\/a><\/span><\/span><\/p>\n<div id=\"sdfootnote1\">\n<p class=\"sdfootnote\"><a class=\"sdfootnotesym\" href=\"#sdfootnote1anc\" name=\"sdfootnote1sym\">1<\/a><sup>\u0002<\/sup><span style=\"font-size: small;\"> <a class=\"western\" href=\"http:\/\/en.wikipedia.org\/wiki\/Zend_Engine\">http:\/\/en.wikipedia.org\/wiki\/Zend_Engine<\/a>.<\/span><\/p>\n<\/div>\n<p align=\"justify\"><span style=\"font-size: large;\"><span lang=\"en-GB\">Now we are going to explain the most important modules of PHP web server shown in Figure 1.<\/span><\/span><\/p>\n<p><strong>External modules<\/strong> can be loaded from the disk at script runtime using the function \u201cbool dl (string <span style=\"font-family: Courier New,serif;\"><span style=\"font-size: small;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: large;\">$library<\/span><\/span><\/span><\/span>)\u201d. After the script is terminated, the external module is discarded from memory.<\/p>\n<p><strong>Built-in modules<\/strong> are compiled directly into PHP and carried around with every PHP process; their functionality is available to every script that's being run.<\/p>\n<p><strong>Memory Management<\/strong>: Zend gets full control over all memory allocations in fact it determines whether a block is in use, automatically freeing unused blocks and blocks with lost references, and thus prevent memory leaks.<\/p>\n<p><span style=\"font-size: large;\"><b>Zend Executor<\/b><\/span><span style=\"font-size: large;\">: Zend Engine compiles the PHP Code in the intermediate code <\/span><span style=\"font-size: large;\"><i>Opcode<\/i><\/span><span style=\"font-size: large;\"> which is executed by the Zend Executor which converts it to machine language.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3 class=\"western\"><span lang=\"en-GB\">How PHP Server Engine works<\/span><\/h3>\n<p><span style=\"font-size: large;\">A PHP script is executed<\/span> <span style=\"font-size: large;\">by walking it through the following steps:<\/span><\/p>\n<ol>\n<li>\n<p align=\"justify\"><span style=\"font-size: large;\">The script is run through a <\/span><span style=\"font-size: large;\"><i>lexical analyzer<\/i><\/span><span style=\"font-size: large;\"> to convert the human-readable code into tokens. These tokens are then passed to the parser.<\/span><\/p>\n<\/li>\n<\/ol>\n<ol>\n<li>\n<p align=\"justify\"><span style=\"font-size: large;\">The <\/span><span style=\"font-size: large;\"><i>parser<\/i><\/span><span style=\"font-size: large;\"> parses, manipulates and optimizes the stream of tokens passed to it from the lexical analyzer and generates an intermediate code called <\/span><span style=\"font-size: large;\"><i>opcodes<sup>2<\/sup><a class=\"sdfootnoteanc\" href=\"#sdfootnote1sym\" name=\"sdfootnote1anc\"><\/a><\/i><\/span><span style=\"font-size: large;\"> that runs on the Zend Engine. This two steps which represents the compilation phase are provided by the Run-Time Compiler module as shown in Figure 1.<\/span><\/p>\n<\/li>\n<li>\n<p align=\"justify\"><span style=\"font-size: large;\">After the intermediate code is generated, it is passed to the Executor. The executor steps through the <\/span><span style=\"font-size: large;\"><i>op array<\/i><\/span><span style=\"font-size: large;\">, using a function for each opcode and HTML is generated for the same.<\/span><\/p>\n<\/li>\n<li>\n<p align=\"justify\"><span style=\"font-size: large;\">This generated HTML is sent to client, if the web browser supports compressed web pages the HTML is encoded using gzip or deflate before sending.<\/span><\/p>\n<\/li>\n<li>\n<p align=\"justify\"><span style=\"font-size: large;\">This opcode is flushed from memory after execution.<\/span><\/p>\n<\/li>\n<\/ol>\n<p align=\"justify\"><a name=\"_GoBack\"><\/a><\/p>\n<p align=\"justify\"><span style=\"font-size: large;\">Here it is the modern working flow using of cached to improve speed of PHP processing:<\/span><\/p>\n<div id=\"sdfootnote1\">\n<p class=\"sdfootnote\" align=\"justify\"><a class=\"sdfootnotesym\" href=\"#sdfootnote1anc\" name=\"sdfootnote1sym\">2<\/a><sup>\u0002<\/sup><span style=\"font-size: small;\"> This intermediate code (<\/span><span style=\"font-size: small;\"><i>opcodes<\/i><\/span><span style=\"font-size: small;\"> ) is an ordered array of instructions (known as <\/span><span style=\"font-size: small;\"><i>opcodes<\/i><\/span><span style=\"font-size: small;\"><i>short<\/i><\/span><span style=\"font-size: small;\"> for <\/span><span style=\"font-size: small;\">operation code<\/span><span style=\"font-size: small;\">) that are basically three-address code: two operands for the inputs, a third operand for the result, plus the handler that will process the operands. The operands are either constants or an offset to a temporary variable, which is effectively a register in the Zend virtual machine.<\/span><\/p>\n<\/div>\n<figure id=\"attachment_241\" aria-describedby=\"caption-attachment-241\" style=\"width: 607px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-241\" src=\"http:\/\/www.volucer.it\/wp-content\/uploads\/2018\/07\/ZendProcess.png\" alt=\"Zend Processing\" width=\"607\" height=\"673\" srcset=\"https:\/\/www.volucer.it\/wp-content\/uploads\/2018\/07\/ZendProcess.png 443w, https:\/\/www.volucer.it\/wp-content\/uploads\/2018\/07\/ZendProcess-271x300.png 271w\" sizes=\"auto, (max-width: 607px) 100vw, 607px\" \/><figcaption id=\"caption-attachment-241\" class=\"wp-caption-text\">Figure 2 -Zend Processing<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<h3 class=\"western\"><span lang=\"en-GB\">An easy example<\/span><\/h3>\n<p align=\"justify\"><span style=\"font-size: large;\"><span lang=\"en-GB\">Let\u2019s consider the following PHP document (<\/span><\/span><span style=\"font-size: large;\"><span lang=\"en-GB\"><i>.php<\/i><\/span><\/span><span style=\"font-size: large;\"><span lang=\"en-GB\">) in order to understand what happens:<\/span><\/span><\/p>\n<pre><span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\">&lt;html&gt;<\/span><\/span><\/span>\r\n\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\">&lt;head&gt;<\/span><\/span><\/span>\r\n\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\">&lt;title&gt;Party List&lt;\/title&gt;<\/span><\/span><\/span>\r\n\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\">&lt;\/head&gt;<\/span><\/span><\/span>\r\n\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\">&lt;body&gt;<\/span><\/span><\/span>\r\n\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"it-IT\"><b>&lt;?php<\/b><\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"it-IT\"><b>$guest[00]=\u201dIrma\u201d;<\/b><\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"it-IT\"><b>$guest[01]=\u201dSalvatore\u201d;<\/b><\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><b>$guest[02]=\u201dCaterina\u201d;<\/b><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><b>$guest[03]=\u201dSimone\u201d;<\/b><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\"><b>?&gt;<\/b><\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\">&lt;p&gt; The list of participants to the event is: &lt;\/p&gt;<\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\">&lt;ol&gt;<\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\"><b>&lt;?php<\/b><\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\"><b>Foreach ($aGuest as $Guest) {<\/b><\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"it-IT\"><b>Echo \u201c&lt;li&gt;\u201d.$aGuest.\u201d&lt;\/li&gt;;<\/b><\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"it-IT\"><b>};<\/b><\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"it-IT\"><b>?&gt;<\/b><\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"it-IT\">&lt;\/ol&gt;<\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\">&lt;\/body&gt;<\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\">&lt;\/html&gt;<\/span><\/span><\/span><\/pre>\n<p style=\"text-align: center;\" align=\"justify\"><span style=\"font-family: Palatino Linotype, serif;\"><span style=\"font-size: medium;\"><span lang=\"en-GB\">PHP document of input<\/span><\/span><\/span><\/p>\n<p align=\"justify\"><span style=\"font-size: large;\"><span lang=\"en-GB\">The <\/span><\/span><span style=\"font-size: large;\"><span lang=\"en-GB\"><i>.php<\/i><\/span><\/span><span style=\"font-size: large;\"><span lang=\"en-GB\"> file is pre-processed by the server considering the text embedded within <\/span><\/span><span style=\"font-size: large;\"><span lang=\"en-GB\"><i>\u201c&lt;?php ?&gt;<\/i><\/span><\/span><span style=\"font-size: large;\"><span lang=\"en-GB\">\u201d blocks as PHP syntax, while text outside these blocks as arguments passed to \u201c<\/span><\/span><span style=\"font-size: large;\"><span lang=\"en-GB\"><i>print<\/i><\/span><\/span><span style=\"font-size: large;\"><span lang=\"en-GB\">\u201d statements. The resulting output file of pre-processing phase is the following file.<\/span><\/span><\/p>\n<pre><span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\">Print \u201c&lt;html&gt;\u201d;<\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\">Print \u201c&lt;head&gt;\u201d;<\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\">Print \u201c&lt;title&gt;Party List&lt;\/title&gt;\u201d;<\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\">Print \u201c&lt;\/head&gt;\u201d;<\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\">Print \u201c&lt;body&gt;\u201d;<\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\"><b>$guest[00]=\u201dIrma\u201d;<\/b><\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><b>$guest[01]=\u201dSalvatore\u201d;<\/b><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><b>$guest[02]=\u201dCaterina\u201d;<\/b><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><b>$guest[03]=\u201dSimone\u201d;<\/b><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\">Print \u201c&lt;p&gt; The list of participants to the event is: &lt;\/p&gt;\u201d;<\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\">Print \u201c&lt;ol&gt;\u201d;<\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\"><b>Foreach ($aGuest as $Guest) {<\/b><\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"it-IT\"><b>Echo \u201c&lt;li&gt;\u201d.$aGuest.\u201d&lt;\/li&gt;;<\/b><\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"it-IT\"><b>};<\/b><\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"it-IT\">Print <\/span><\/span><\/span><span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"it-IT\"><b>\u201c<\/b><\/span><\/span><\/span><span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"it-IT\">&lt;\/ol&gt;\u201d;<\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\">Print \u201c&lt;\/body&gt;\u201d;<\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\">Print \u201c&lt;\/html&gt;\u201d;<\/span><\/span><\/span><\/pre>\n<p style=\"text-align: center;\" align=\"justify\"><span style=\"font-family: Palatino Linotype, serif;\"><span style=\"font-size: medium;\"><span lang=\"en-GB\">PHP document after pre-processing<\/span><\/span><\/span><\/p>\n<p align=\"justify\"><span style=\"font-size: large;\"><span lang=\"en-GB\">Then the file above is processed by PHP processor (Zend Engine) generating the following HTML document which is sent back to the user agent:<\/span><\/span><\/p>\n<pre><span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\">&lt;html&gt;<\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\">&lt;head&gt;<\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\">&lt;title&gt;Party List&lt;\/title&gt;<\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\">&lt;\/head&gt;<\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\">&lt;body&gt;<\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\">&lt;p&gt; The list of participants to the event is: &lt;\/p&gt;<\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"it-IT\">&lt;ol&gt;<\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"it-IT\"><b>&lt;li&gt;Irma&lt;\/li&gt;<\/b><\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"it-IT\"><b>&lt;li&gt;Salvatore&lt;\/li&gt;<\/b><\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"it-IT\"><b>&lt;li&gt;Caterina&lt;\/li&gt;<\/b><\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"it-IT\"><b>&lt;li&gt;Simone&lt;\/li&gt;<\/b><\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\">&lt;\/ol&gt;<\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\">&lt;\/body&gt;<\/span><\/span><\/span>\r\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: small;\"><span lang=\"en-GB\">&lt;\/html&gt;<\/span><\/span><\/span><\/pre>\n<p style=\"text-align: center;\" align=\"justify\"><span style=\"font-family: Palatino Linotype, serif;\"><span style=\"font-size: medium;\"><span lang=\"en-GB\">PHP document after Zend Engine Processing<\/span><\/span><\/span><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The PHP Server Engine Architecture PHP is a recursive acronym that stands for \u201cPHP Hypertext Preprocessor\u201d (though it originally stood for \u201cPersonal Home Page\u201d in 1995). It allows embedding code within HTML templates, using a language similar to Perl and Unix shells. It is parsed and executed by the Zend Engine on the server side. <a class=\"read-more\" href=\"https:\/\/www.volucer.it\/?p=237\">...continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"image","meta":{"footnotes":""},"categories":[9],"tags":[],"class_list":["post-237","post","type-post","status-publish","format-image","hentry","category-web-application","post_format-post-format-image"],"_links":{"self":[{"href":"https:\/\/www.volucer.it\/index.php?rest_route=\/wp\/v2\/posts\/237","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.volucer.it\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.volucer.it\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.volucer.it\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.volucer.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=237"}],"version-history":[{"count":6,"href":"https:\/\/www.volucer.it\/index.php?rest_route=\/wp\/v2\/posts\/237\/revisions"}],"predecessor-version":[{"id":245,"href":"https:\/\/www.volucer.it\/index.php?rest_route=\/wp\/v2\/posts\/237\/revisions\/245"}],"wp:attachment":[{"href":"https:\/\/www.volucer.it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=237"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.volucer.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=237"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.volucer.it\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=237"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}