{"id":33901,"date":"2019-10-31T21:55:19","date_gmt":"2019-10-31T18:55:19","guid":{"rendered":"https:\/\/prohoster.info\/blog\/cloudflare-mozilla-i-facebook-razvivayut-binaryast-dlya-uskoreniya-zagruzki-javascript\/"},"modified":"2019-10-31T21:55:19","modified_gmt":"2019-10-31T18:55:19","slug":"cloudflare-mozilla-i-facebook-razvivayut-binaryast-dlya-uskoreniya-zagruzki-javascript","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/news\/cloudflare-mozilla-i-facebook-razvivayut-binaryast-dlya-uskoreniya-zagruzki-javascript","title":{"rendered":"Cloudflare, Mozilla a Facebook vyv\u00edjej\u00ed BinaryAST pro zrychlen\u00ed na\u010d\u00edt\u00e1n\u00ed JavaScriptu","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>In\u017een\u00fd\u0159i z firem Cloudflare, Mozilla, Facebook a Bloomberg <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.cloudflare.com\/binary-ast\/\">navrhli<\/a><\/noindex> nov\u00fd form\u00e1t <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/tc39\/proposal-binary-ast\">BinaryAST<\/a><\/noindex>  pro zrychlen\u00ed dod\u00e1vky a zpracov\u00e1n\u00ed JavaScriptov\u00e9ho k\u00f3du p\u0159i otev\u00edr\u00e1n\u00ed webov\u00fdch str\u00e1nek v prohl\u00ed\u017ee\u010di. BinaryAST p\u0159esouv\u00e1 f\u00e1zi syntaktick\u00e9 anal\u00fdzy na server a dod\u00e1v\u00e1 ji\u017e vytvo\u0159en\u00fd abstraktn\u00ed syntaktick\u00fd strom (<noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%90%D0%B1%D1%81%D1%82%D1%80%D0%B0%D0%BA%D1%82%D0%BD%D0%BE%D0%B5_%D1%81%D0%B8%D0%BD%D1%82%D0%B0%D0%BA%D1%81%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE\">AST<\/a><\/noindex>). P\u0159i obdr\u017een\u00ed BinaryAST m\u016f\u017ee prohl\u00ed\u017ee\u010d okam\u017eit\u011b p\u0159ej\u00edt na f\u00e1zi kompilace, ani\u017e by musel prov\u00e1d\u011bt anal\u00fdzu zdrojov\u00e9ho k\u00f3du JavaScriptu. <\/p>\n<p>Pro testov\u00e1n\u00ed <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/binast\/binjs-ref\">byla p\u0159ipravena<\/a><\/noindex> referen\u010dn\u00ed implementace dod\u00e1van\u00e1 pod licenc\u00ed MIT. Pro anal\u00fdzu se pou\u017e\u00edvaj\u00ed komponenty Node.js a k\u00f3d pro optimalizaci a vytv\u00e1\u0159en\u00ed AST je naps\u00e1n v jazyce Rust. Na stran\u011b prohl\u00ed\u017ee\u010d\u016f je podpora<br \/>\nBinaryAST ji\u017e dostupn\u00e1 v <noindex><a rel=\"nofollow\" href=\"https:\/\/www.mozilla.org\/en-US\/firefox\/channel\/desktop\/#nightly\">no\u010dn\u00edch sestaven\u00edch<\/a><\/noindex> Firefoxu. K\u00f3dova\u010d v BinaryAST m\u016f\u017ee b\u00fdt aplikov\u00e1n jak na \u00farovni n\u00e1stroj\u016f koncov\u00e9ho webu, tak pro balen\u00ed skript\u016f extern\u00edch web\u016f na stran\u011b proxy nebo s\u00edt\u011b pro doru\u010dov\u00e1n\u00ed obsahu. V sou\u010dasnosti ji\u017e za\u010dal proces standardizace BinaryAST pracovn\u00edm t\u00fdmem <noindex><a rel=\"nofollow\" href=\"https:\/\/tc39.github.io\/\">ECMA TC39<\/a><\/noindex>, po jeho\u017e dokon\u010den\u00ed bude form\u00e1t moci koexistovat vedle st\u00e1vaj\u00edc\u00edch metod komprese dod\u00e1van\u00e9ho obsahu, jako jsou gzip a brotli. <\/p>\n<p><center><noindex><a rel=\"nofollow\" href=\"https:\/\/blog.cloudflare.com\/content\/images\/2019\/05\/without-binAST.png\"><img decoding=\"async\" alt=\"Cloudflare, Mozilla a Facebook vyv\u00edjej\u00ed BinaryAST pro zrychlen\u00ed na\u010d\u00edt\u00e1n\u00ed JavaScriptu\" src=\"\/wp-content\/uploads\/2019\/05\/fdb78c6b073295f42c6ed83e0ba73dd1.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/center><br \/>\n<center><noindex><a rel=\"nofollow\" href=\"https:\/\/blog.cloudflare.com\/content\/images\/2019\/05\/With-BinAST.png\"><img decoding=\"async\" alt=\"Cloudflare, Mozilla a Facebook vyv\u00edjej\u00ed BinaryAST pro zrychlen\u00ed na\u010d\u00edt\u00e1n\u00ed JavaScriptu\" src=\"\/wp-content\/uploads\/2019\/05\/457e5f127c81b8708cdc04ba0176a636.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/center><\/p>\n<p>V\u00fdznamn\u00e1 \u010d\u00e1st \u010dasu p\u0159i zpracov\u00e1n\u00ed JavaScriptu zab\u00edr\u00e1 f\u00e1ze na\u010d\u00edt\u00e1n\u00ed a syntaktick\u00e9 anal\u00fdzy k\u00f3du. Vzhledem k tomu, \u017ee objem stahovan\u00e9ho JavaScriptu na mnoha popul\u00e1rn\u00edch webech se bl\u00ed\u017e\u00ed k 10 MB (nap\u0159\u00edklad LinkedIn \u2014 7,2 MB, Facebook \u2014 7,1 MB, Gmail \u2014 3,9 MB), \u00favodn\u00ed zpracov\u00e1n\u00ed JavaScriptu p\u0159in\u00e1\u0161\u00ed zna\u010dn\u00e9 zpo\u017ed\u011bn\u00ed. F\u00e1ze anal\u00fdzy na stran\u011b prohl\u00ed\u017ee\u010de je tak\u00e9 zpomalena kv\u016fli neschopnosti pln\u011b sestavit AST na m\u00edst\u011b, proto\u017ee prohl\u00ed\u017ee\u010d mus\u00ed \u010dekat na dokon\u010den\u00ed na\u010d\u00edt\u00e1n\u00ed blok\u016f k\u00f3du, nap\u0159\u00edklad na konec funkc\u00ed, aby z\u00edskal chyb\u011bj\u00edc\u00ed informace pot\u0159ebn\u00e9 pro anal\u00fdzu aktu\u00e1ln\u00edch prvk\u016f.<\/p>\n<p>\u010c\u00e1ste\u010dn\u011b se probl\u00e9m sna\u017e\u00ed \u0159e\u0161it roz\u0161i\u0159ov\u00e1n\u00edm k\u00f3du v minimalizovan\u00e9 a komprimovan\u00e9 podob\u011b, stejn\u011b jako pomoc\u00ed cachov\u00e1n\u00ed prohl\u00ed\u017ee\u010dem generovan\u00e9ho bytecode. Na modern\u00edch str\u00e1nk\u00e1ch se k\u00f3d aktualizuje pom\u011brn\u011b \u010dasto, a proto cachov\u00e1n\u00ed pouze \u010d\u00e1ste\u010dn\u011b \u0159e\u0161\u00ed probl\u00e9m. \u0158e\u0161en\u00ed by mohlo poskytnout WebAssembly, ale vy\u017eaduje pou\u017eit\u00ed explicitn\u00edho typov\u00e1n\u00ed v k\u00f3du a nen\u00ed p\u0159\u00edli\u0161 vhodn\u00e9 pro urychlen\u00ed zpracov\u00e1n\u00ed ji\u017e existuj\u00edc\u00edho k\u00f3du v JavaScriptu. <\/p>\n<p>Alternativou je dod\u00e1n\u00ed hotov\u00e9ho kompilovan\u00e9ho bajtk\u00f3du m\u00edsto JavaScriptov\u00fdch skript\u016f, ale v\u00fdvoj\u00e1\u0159i prohl\u00ed\u017ee\u010dov\u00fdch engin\u016f s t\u00edm nesouhlas\u00ed, proto\u017ee ov\u011b\u0159en\u00ed extern\u00edho bajtk\u00f3du je obt\u00ed\u017en\u00e9, jeho p\u0159\u00edm\u00e9 zpracov\u00e1n\u00ed m\u016f\u017ee v\u00e9st k rozd\u011blen\u00ed webu, vznikaj\u00ed dal\u0161\u00ed bezpe\u010dnostn\u00ed hrozby a je t\u0159eba vyvinout form\u00e1t univerz\u00e1ln\u00edho bajtk\u00f3du.<\/p>\n<p>BinaryAST se integrovala do st\u00e1vaj\u00edc\u00edho modelu v\u00fdvoje a distribuce k\u00f3du bez nutnosti vytv\u00e1\u0159en\u00ed nov\u00e9ho bajtk\u00f3du a bez zm\u011bny jazyka JavaScript. Velikost dat ve form\u00e1tu BinaryAST je srovnateln\u00e1 se zmen\u0161en\u00fdm a minifikovan\u00fdm JavaScriptov\u00fdm k\u00f3dem, a rychlost zpracov\u00e1n\u00ed se d\u00edky vylou\u010den\u00ed f\u00e1ze parsov\u00e1n\u00ed zdrojov\u00fdch text\u016f v\u00fdrazn\u011b zvy\u0161uje. Nav\u00edc form\u00e1t umo\u017e\u0148uje prov\u00e1d\u011bt kompilaci do bajtk\u00f3du b\u011bhem na\u010d\u00edt\u00e1n\u00ed BinaryAST, ani\u017e by bylo t\u0159eba \u010dekat na dokon\u010den\u00ed p\u0159\u00edjmu v\u0161ech dat. D\u00e1le, parsov\u00e1n\u00ed na stran\u011b serveru umo\u017e\u0148uje vylou\u010dit z dod\u00e1van\u00e9ho zobrazen\u00ed BinaryAST nepou\u017e\u00edvan\u00e9 funkce a nadbyte\u010dn\u00fd k\u00f3d, na co\u017e se p\u0159i parsov\u00e1n\u00ed na stran\u011b prohl\u00ed\u017ee\u010de ztr\u00e1c\u00ed \u010das, jak p\u0159i anal\u00fdze, tak p\u0159i p\u0159enosu nadbyte\u010dn\u00e9ho provozu.<\/p>\n<p>Specifikou BinaryAST je tak\u00e9 schopnost obnovit \u010diteln\u00fd JavaScript, kter\u00fd sice nebyl identicky shodn\u00fd s p\u016fvodn\u00ed verz\u00ed, ale byl semanticky ekvivalentn\u00ed a zahrnoval stejn\u00e9 n\u00e1zvy prom\u011bnn\u00fdch a funkc\u00ed (BinaryAST zachov\u00e1v\u00e1 n\u00e1zvy, ale nezachov\u00e1 informace o pozic\u00edch v k\u00f3du, form\u00e1tov\u00e1n\u00ed a koment\u00e1\u0159e). Na druhou stranu, objevuj\u00ed se nov\u00e9 \u00fato\u010dn\u00e9 vektory, ale podle n\u00e1zoru v\u00fdvoj\u00e1\u0159\u016f jsou tyto v\u00fdrazn\u011b men\u0161\u00ed a l\u00e9pe kontrolovateln\u00e9 ne\u017e p\u0159i pou\u017eit\u00ed alternativ, jako je roz\u0161\u00ed\u0159en\u00ed bajtk\u00f3du.<\/p>\n<p>Testy k\u00f3du facebook.com uk\u00e1zaly, \u017ee na anal\u00fdzu JavaScriptu se spot\u0159ebov\u00e1v\u00e1 10-15% prost\u0159edk\u016f CPU a na parsov\u00e1n\u00ed se tr\u00e1v\u00ed v\u00edce \u010dasu ne\u017e na generov\u00e1n\u00ed bajtk\u00f3du a po\u010d\u00e1te\u010dn\u00ed vytv\u00e1\u0159en\u00ed k\u00f3du pro JIT. V enginu SpiderMonkey trv\u00e1 \u00fapln\u00e9 vytvo\u0159en\u00ed AST 500-800 ms a pou\u017eit\u00ed BinaryAST umo\u017enilo tento \u010das zkr\u00e1tit o 70-90%.<br \/>\nObecn\u011b plat\u00ed, \u017ee pro v\u011bt\u0161inu webov\u00fdch framework\u016f se p\u0159i pou\u017eit\u00ed BinaryAST \u010das parsov\u00e1n\u00ed JavaScriptu zkracuje o 3-10% v re\u017eimu bez optimalizace a o 90-97% p\u0159i aktivaci re\u017eimu ignorov\u00e1n\u00ed nepou\u017e\u00edvan\u00fdch funkc\u00ed.<br \/>\nP\u0159i prov\u00e1d\u011bn\u00ed testovac\u00edho JavaScriptov\u00e9ho souboru o velikosti 1,2 MB umo\u017enilo pou\u017eit\u00ed BinaryAST zrychlit \u010das zah\u00e1jen\u00ed spu\u0161t\u011bn\u00ed z 338 na 314 ms na stoln\u00edm syst\u00e9mu (Intel i7) a z 2019 na 1455 ms na mobiln\u00edm za\u0159\u00edzen\u00ed (HTC One M8).<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Zdroj: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=50701\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0418\u043d\u0436\u0435\u043d\u0435\u0440\u044b \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0439 Cloudflare, Mozilla, Facebook \u0438 Bloomberg \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 BinaryAST \u0434\u043b\u044f \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 JavaScript \u043a\u043e\u0434\u0430 \u043f\u0440\u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0438 \u0441\u0430\u0439\u0442\u043e\u0432 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435. BinaryAST \u0432\u044b\u043d\u043e\u0441\u0438\u0442 \u0444\u0430\u0437\u0443 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0440\u0430\u0437\u0431\u043e\u0440\u0430 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0443\u0436\u0435 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u043d\u043e\u0435 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0434\u0435\u0440\u0435\u0432\u043e (AST). \u041f\u0440\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0438 BinaryAST \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0441\u0440\u0430\u0437\u0443 \u043c\u043e\u0436\u0435\u0442 \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043d\u0430 \u0441\u0442\u0430\u0434\u0438\u044e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438, \u043c\u0438\u043d\u0443\u044f \u043f\u0430\u0440\u0441\u0438\u043d\u0433 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 JavaScript. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":25564,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-33901","post","type-post","status-publish","format-standard","has-post-thumbnail","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=\"\u0418\u043d\u0436\u0435\u043d\u0435\u0440\u044b \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0439 Cloudflare, Mozilla, Facebook \u0438 Bloomberg \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442\" \/>\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\/cs\/blog\/news\/cloudflare-mozilla-i-facebook-razvivayut-binaryast-dlya-uskoreniya-zagruzki-javascript\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\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\udd47Cloudflare, Mozilla \u0438 Facebook \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0442 BinaryAST \u0434\u043b\u044f \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 JavaScript | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0418\u043d\u0436\u0435\u043d\u0435\u0440\u044b \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0439 Cloudflare, Mozilla, Facebook \u0438 Bloomberg \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/news\/cloudflare-mozilla-i-facebook-razvivayut-binaryast-dlya-uskoreniya-zagruzki-javascript\" \/>\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-31T18:55:19+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:55:19+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\udd47Cloudflare, Mozilla a Facebook vyv\u00edjej\u00ed BinaryAST pro zrychlen\u00ed na\u010d\u00edt\u00e1n\u00ed JavaScriptu | ProHoster","description":"In\u017een\u00fd\u0159i z firem Cloudflare, Mozilla, Facebook a Bloomberg navrhli nov\u00fd form\u00e1t","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/news\/cloudflare-mozilla-i-facebook-razvivayut-binaryast-dlya-uskoreniya-zagruzki-javascript","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","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\udd47Cloudflare, Mozilla \u0438 Facebook \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0442 BinaryAST \u0434\u043b\u044f \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 JavaScript | ProHoster","og:description":"\u0418\u043d\u0436\u0435\u043d\u0435\u0440\u044b \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0439 Cloudflare, Mozilla, Facebook \u0438 Bloomberg \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442","og:url":"https:\/\/prohoster.info\/cs\/blog\/news\/cloudflare-mozilla-i-facebook-razvivayut-binaryast-dlya-uskoreniya-zagruzki-javascript","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-31T18:55:19+00:00","article:modified_time":"2019-10-31T18:55:19+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"33901","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-21 17:09:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:31:22","updated":"2026-01-21 17:09:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/33901","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=33901"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/33901\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media\/25564"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=33901"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=33901"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=33901"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}