[{"data":1,"prerenderedAt":347},["ShallowReactive",2],{"tr3IKdX6cJ":3},[4],{"id":5,"date":6,"date_gmt":7,"guid":8,"modified":10,"modified_gmt":11,"slug":12,"status":13,"type":14,"link":15,"title":16,"content":18,"excerpt":21,"author":23,"featured_media":24,"comment_status":25,"ping_status":25,"sticky":20,"template":26,"format":27,"meta":28,"categories":30,"tags":32,"class_list":33,"acf":41,"yoast_head":42,"yoast_head_json":43,"featured_media_src_url":137,"_links":138,"_embedded":186},1728,"2025-08-10T14:22:22","2025-08-10T11:22:22",{"rendered":9},"https://api.aoskin.ru/?p=1728","2025-09-13T17:33:58","2025-09-13T14:33:58","web-workers-api-kak-razgruzit-i-uskorit-veb","publish","post","https://api.aoskin.ru/web-workers-api-kak-razgruzit-i-uskorit-veb/",{"rendered":17},"Web Workers API: как разгрузить и ускорить веб",{"rendered":19,"protected":20},"\n\u003Cp class=\"wp-block-paragraph\">Браузер имеет один главный поток (main thread), и если загрузить его вычислениями, интерфейс начнёт «тормозить».\u003C/p>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Здесь на помощь приходят \u003Cstrong>Web Workers API\u003C/strong> &#8211; механизм, позволяющий выполнять код в отдельных потоках, не блокируя UI.\u003C/p>\n\n\n\n\u003Ch2 class=\"wp-block-heading\">Немного про Main Thread\u003C/h2>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Когда открывается сайт, почти всё в нём работает внутри \u003Cstrong>главного потока\u003C/strong> (Main thread). Проблема в том, что \u003Cstrong>главный поток только один\u003C/strong>.\u003C/p>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">В нём выполняются:\u003C/p>\n\n\n\n\u003Cul class=\"wp-block-list\">\n\u003Cli>рендеринг DOM и CSS,\u003C/li>\n\n\n\n\u003Cli>работа с JavaScript,\u003C/li>\n\n\n\n\u003Cli>обработка событий (клики, скролл, ввод текста),\u003C/li>\n\n\n\n\u003Cli>отрисовка анимаций.\u003C/li>\n\u003C/ul>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Если загрузить его тяжёлыми вычислениями &#8211; например, сортировкой массива на миллион элементов или сжатием изображения большого размера &#8211; то интерфейс «замрёт»: кнопки перестанут реагировать, анимации будут дергаться.\u003C/p>\n\n\n\n\u003Ch2 class=\"wp-block-heading\">Web Worker\u003C/h2>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Web Worker &#8211; это скрипт, который запускается параллельно с основным кодом страницы. Он не имеет доступа к DOM напрямую, но может:\u003C/p>\n\n\n\n\u003Cul class=\"wp-block-list\">\n\u003Cli>выполнять тяжёлые вычисления,\u003C/li>\n\n\n\n\u003Cli>обрабатывать большие массивы данных,\u003C/li>\n\n\n\n\u003Cli>работать с сетевыми запросами,\u003C/li>\n\n\n\n\u003Cli>передавать результаты обратно в основной поток через сообщения.\u003C/li>\n\u003C/ul>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Таким образом, разделяются задачи: \u003Cstrong>основной поток отвечает за интерфейс, а воркер &#8211; за тяжёлые вычесления\u003C/strong>.\u003C/p>\n\n\n\n\u003Ch2 class=\"wp-block-heading\">postMessage()\u003C/h2>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Взаимодействие между страницей и воркером происходит с помощью метода \u003Ccode>postMessage().\u003C/code> Метод \u003Cstrong>postMessage()\u003C/strong> используется для безопасной кроссдоменной передачи данных между разными контекстами &#8211; окнами, \u003Ca href=\"https://aoskin.ru/blog/iframe-youtube-i-rutube-upravlenie-sobytiya-i-prevyu\">фреймами\u003C/a> или веб-воркерами.\u003C/p>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Общий вид вызова:\u003C/p>\n\n\n\n\u003Cdiv class=\"hcb_wrap\">\u003Cpre class=\"prism line-numbers lang-plain\">\u003Ccode>otherWindow.postMessage(message, targetOrigin, [transfer]);\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cul class=\"wp-block-list\">\n\u003Cli>\u003Cstrong>otherWindow\u003C/strong> &#8211; объект, с которым устанавливается связь: это может быть окно, открытое через \u003Ccode>window.open\u003C/code>, фрейм (\u003Ccode>iframe.contentWindow\u003C/code>) или экземпляр \u003Ccode>Worker\u003C/code>.\u003C/li>\n\n\n\n\u003Cli>\u003Cstrong>message\u003C/strong> &#8211; информация, которую нужно передать. Данные автоматически сериализуются и десериализуются, поэтому всегда передаётся копия, а не ссылка на объект.\u003C/li>\n\n\n\n\u003Cli>\u003Cstrong>targetOrigin\u003C/strong> &#8211; адрес получателя. Вместо конкретного домена можно поставить \u003Ccode>\"*\"\u003C/code>, что позволит принимать сообщение любому источнику, но из соображений безопасности предпочтительно указывать точный origin.\u003C/li>\n\n\n\n\u003Cli>\u003Cstrong>transfer\u003C/strong> \u003Cem>(опционально)\u003C/em> &#8211; список \u003Cstrong>Transferable-объектов\u003C/strong>, которые доступны только одному контексту в момент времени. Например, \u003Ccode>ArrayBuffer\u003C/code> может быть полностью передан другому контексту, и тогда он становится недоступен в исходном.\u003C/li>\n\u003C/ul>\n\n\n\n\u003Ch2 class=\"wp-block-heading\">Пример воркера\u003C/h2>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">worker.js\u003C/p>\n\n\n\n\u003Cdiv class=\"hcb_wrap\">\u003Cpre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\">\u003Ccode>self.onmessage = function (event) {\n  const num = event.data;\n  let result = 0;\n\n  for (let i = 0; i &lt;= num; i++) {\n    result += i;\n  }\n\n  self.postMessage(result);\n};\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">main.js\u003C/p>\n\n\n\n\u003Cdiv class=\"hcb_wrap\">\u003Cpre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\">\u003Ccode>const worker = new Worker(&quot;worker.js&quot;);\n\nworker.onmessage = function (event) {\n  console.log(&quot;Результат:&quot;, event.data);\n};\n\nworker.postMessage(1_000_000_000);\n\nconsole.log(&quot;UI не завис! Продолжаем работать...&quot;);\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Даже если расчёт займёт секунды, интерфейс остаётся отзывчивым.\u003C/p>\n\n\n\n\u003Ch2 class=\"wp-block-heading\">Когда использовать Web Workers\u003C/h2>\n\n\n\n\u003Cul class=\"wp-block-list\">\n\u003Cli>Обработка больших JSON-файлов.\u003C/li>\n\n\n\n\u003Cli>Сжатие изображений перед загрузкой.\u003C/li>\n\n\n\n\u003Cli>Сложные математические расчёты (например, графика, криптография).\u003C/li>\n\n\n\n\u003Cli>Рендеринг карт или 3D-сцен.\u003C/li>\n\u003C/ul>\n\n\n\n\u003Ch2 class=\"wp-block-heading\">Ограничения у Web Workers\u003C/h2>\n\n\n\n\u003Cul class=\"wp-block-list\">\n\u003Cli>Нет прямого доступа к DOM.\u003C/li>\n\n\n\n\u003Cli>Ограничены в API (например, \u003Ccode>alert\u003C/code>, \u003Ccode>document\u003C/code>, \u003Ccode>window\u003C/code> недоступны).\u003C/li>\n\n\n\n\u003Cli>Общение только через \u003Cstrong>postMessage / onmessage\u003C/strong>.\u003C/li>\n\u003C/ul>\n\n\n\n\u003Ch2 class=\"wp-block-heading\">Заключение\u003C/h2>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Web Workers &#8211; отличный инструмент, если нужно сделать интерфейс быстрым и отзывчивым при работе с тяжёлыми задачами. Он не нужен в каждом проекте, но если у вас \u003Cstrong>фризы, долгие вычисления или тяжёлая обработка данных\u003C/strong>, самое время вынести её в отдельный поток.\u003C/p>\n",false,{"rendered":22,"protected":20},"\u003Cp>Веб-приложения становятся всё более «тяжёлыми»: сложные анимации, обработка больших массивов данных, работа с изображениями и видео.\u003C/p>\n",1,1737,"open","","standard",{"_acf_changed":20,"_yoast_wpseo_focuskw":26,"_yoast_wpseo_title":26,"_yoast_wpseo_metadesc":29,"footnotes":26},"%%sep%% В этом нам поможет Web Workers API - механизм, позволяющий выполнять код в отдельных потоках, не блокируя UI.",[31],20,[],[34,14,35,36,37,38,39,40],"post-1728","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-webapi",[],"\u003C!-- This site is optimized with the Yoast SEO plugin v28.5 - https://yoast.com/product/yoast-seo-wordpress/ -->\n\u003Ctitle>Web Workers API: как разгрузить и ускорить веб\u003C/title>\n\u003Cmeta name=\"description\" content=\"- В этом нам поможет Web Workers API - механизм, позволяющий выполнять код в отдельных потоках, не блокируя UI.\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" />\n\u003Clink rel=\"canonical\" href=\"https://api.aoskin.ru/web-workers-api-kak-razgruzit-i-uskorit-veb/\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:locale\" content=\"en_US\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:type\" content=\"article\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:title\" content=\"Web Workers API: как разгрузить и ускорить веб\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:description\" content=\"- В этом нам поможет Web Workers API - механизм, позволяющий выполнять код в отдельных потоках, не блокируя UI.\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:url\" content=\"https://api.aoskin.ru/web-workers-api-kak-razgruzit-i-uskorit-veb/\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:site_name\" content=\"api.aoskin.ru\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"article:published_time\" content=\"2025-08-10T11:22:22+00:00\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"article:modified_time\" content=\"2025-09-13T14:33:58+00:00\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:image\" content=\"https://api.aoskin.ru/wp-content/uploads/2025/09/42-web-workers-api.webp\" class=\"yoast-seo-meta-tag\" />\n\t\u003Cmeta property=\"og:image:width\" content=\"1232\" class=\"yoast-seo-meta-tag\" />\n\t\u003Cmeta property=\"og:image:height\" content=\"928\" class=\"yoast-seo-meta-tag\" />\n\t\u003Cmeta property=\"og:image:type\" content=\"image/webp\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta name=\"author\" content=\"aoskin\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta name=\"twitter:card\" content=\"summary_large_image\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta name=\"twitter:label1\" content=\"Written by\" class=\"yoast-seo-meta-tag\" />\n\t\u003Cmeta name=\"twitter:data1\" content=\"aoskin\" class=\"yoast-seo-meta-tag\" />\n\t\u003Cmeta name=\"twitter:label2\" content=\"Est. reading time\" class=\"yoast-seo-meta-tag\" />\n\t\u003Cmeta name=\"twitter:data2\" content=\"2 minutes\" class=\"yoast-seo-meta-tag\" />\n\u003Cscript type=\"application/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\/\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\/\\/api.aoskin.ru\\/web-workers-api-kak-razgruzit-i-uskorit-veb\\/#article\",\"isPartOf\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/web-workers-api-kak-razgruzit-i-uskorit-veb\\/\"},\"author\":{\"name\":\"aoskin\",\"@id\":\"https:\\/\\/api.aoskin.ru\\/#\\/schema\\/person\\/b5e1c81c85a50ca05e16fcdfa29f4861\"},\"headline\":\"Web Workers API: как разгрузить и ускорить веб\",\"datePublished\":\"2025-08-10T11:22:22+00:00\",\"dateModified\":\"2025-09-13T14:33:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/web-workers-api-kak-razgruzit-i-uskorit-veb\\/\"},\"wordCount\":379,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/#\\/schema\\/person\\/b5e1c81c85a50ca05e16fcdfa29f4861\"},\"image\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/web-workers-api-kak-razgruzit-i-uskorit-veb\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\/\\/api.aoskin.ru\\/wp-content\\/uploads\\/2025\\/09\\/42-web-workers-api.webp\",\"articleSection\":[\"Web API\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\/\\/api.aoskin.ru\\/web-workers-api-kak-razgruzit-i-uskorit-veb\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\/\\/api.aoskin.ru\\/web-workers-api-kak-razgruzit-i-uskorit-veb\\/\",\"url\":\"https:\\/\\/api.aoskin.ru\\/web-workers-api-kak-razgruzit-i-uskorit-veb\\/\",\"name\":\"Web Workers API: как разгрузить и ускорить веб\",\"isPartOf\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/web-workers-api-kak-razgruzit-i-uskorit-veb\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/web-workers-api-kak-razgruzit-i-uskorit-veb\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\/\\/api.aoskin.ru\\/wp-content\\/uploads\\/2025\\/09\\/42-web-workers-api.webp\",\"datePublished\":\"2025-08-10T11:22:22+00:00\",\"dateModified\":\"2025-09-13T14:33:58+00:00\",\"description\":\"- В этом нам поможет Web Workers API - механизм, позволяющий выполнять код в отдельных потоках, не блокируя UI.\",\"breadcrumb\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/web-workers-api-kak-razgruzit-i-uskorit-veb\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\/\\/api.aoskin.ru\\/web-workers-api-kak-razgruzit-i-uskorit-veb\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\/\\/api.aoskin.ru\\/web-workers-api-kak-razgruzit-i-uskorit-veb\\/#primaryimage\",\"url\":\"https:\\/\\/api.aoskin.ru\\/wp-content\\/uploads\\/2025\\/09\\/42-web-workers-api.webp\",\"contentUrl\":\"https:\\/\\/api.aoskin.ru\\/wp-content\\/uploads\\/2025\\/09\\/42-web-workers-api.webp\",\"width\":1232,\"height\":928},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\/\\/api.aoskin.ru\\/web-workers-api-kak-razgruzit-i-uskorit-veb\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\/\\/api.aoskin.ru\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Web Workers API: как разгрузить и ускорить веб\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\/\\/api.aoskin.ru\\/#website\",\"url\":\"https:\\/\\/api.aoskin.ru\\/\",\"name\":\"aoskin.ru\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/#\\/schema\\/person\\/b5e1c81c85a50ca05e16fcdfa29f4861\"},\"alternateName\":\"aoskin.ru\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\/\\/api.aoskin.ru\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\/\\/api.aoskin.ru\\/#\\/schema\\/person\\/b5e1c81c85a50ca05e16fcdfa29f4861\",\"name\":\"aoskin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\/\\/secure.gravatar.com\\/avatar\\/e5e502e32ef7d2bf805592a42dd48d98a3587a37b0e98191f187c9c37e7529fb?s=96&d=mm&r=g\",\"url\":\"https:\\/\\/secure.gravatar.com\\/avatar\\/e5e502e32ef7d2bf805592a42dd48d98a3587a37b0e98191f187c9c37e7529fb?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\/\\/secure.gravatar.com\\/avatar\\/e5e502e32ef7d2bf805592a42dd48d98a3587a37b0e98191f187c9c37e7529fb?s=96&d=mm&r=g\",\"caption\":\"aoskin\"},\"logo\":{\"@id\":\"https:\\/\\/secure.gravatar.com\\/avatar\\/e5e502e32ef7d2bf805592a42dd48d98a3587a37b0e98191f187c9c37e7529fb?s=96&d=mm&r=g\"},\"sameAs\":[\"http:\\/\\/api.aoskin.ru\"],\"url\":\"https:\\/\\/api.aoskin.ru\\/author\\/aoskin\\/\"}]}\u003C/script>\n\u003C!-- / Yoast SEO plugin. -->",{"title":17,"description":44,"robots":45,"canonical":15,"og_locale":51,"og_type":52,"og_title":17,"og_description":44,"og_url":15,"og_site_name":53,"article_published_time":54,"article_modified_time":55,"og_image":56,"author":62,"twitter_card":63,"twitter_misc":64,"schema":66},"- В этом нам поможет Web Workers API - механизм, позволяющий выполнять код в отдельных потоках, не блокируя UI.",{"index":46,"follow":47,"max-snippet":48,"max-image-preview":49,"max-video-preview":50},"index","follow","max-snippet:-1","max-image-preview:large","max-video-preview:-1","en_US","article","api.aoskin.ru","2025-08-10T11:22:22+00:00","2025-09-13T14:33:58+00:00",[57],{"width":58,"height":59,"url":60,"type":61},1232,928,"https://api.aoskin.ru/wp-content/uploads/2025/09/42-web-workers-api.webp","image/webp","aoskin","summary_large_image",{"Written by":62,"Est. reading time":65},"2 minutes",{"@context":67,"@graph":68},"https://schema.org",[69,90,102,104,113,127],{"@type":70,"@id":71,"isPartOf":72,"author":73,"headline":17,"datePublished":54,"dateModified":55,"mainEntityOfPage":75,"wordCount":76,"commentCount":77,"publisher":78,"image":79,"thumbnailUrl":60,"articleSection":81,"inLanguage":83,"potentialAction":84},"Article","https://api.aoskin.ru/web-workers-api-kak-razgruzit-i-uskorit-veb/#article",{"@id":15},{"name":62,"@id":74},"https://api.aoskin.ru/#/schema/person/b5e1c81c85a50ca05e16fcdfa29f4861",{"@id":15},379,0,{"@id":74},{"@id":80},"https://api.aoskin.ru/web-workers-api-kak-razgruzit-i-uskorit-veb/#primaryimage",[82],"Web API","en-US",[85],{"@type":86,"name":87,"target":88},"CommentAction","Comment",[89],"https://api.aoskin.ru/web-workers-api-kak-razgruzit-i-uskorit-veb/#respond",{"@type":91,"@id":15,"url":15,"name":17,"isPartOf":92,"primaryImageOfPage":94,"image":95,"thumbnailUrl":60,"datePublished":54,"dateModified":55,"description":44,"breadcrumb":96,"inLanguage":83,"potentialAction":98},"WebPage",{"@id":93},"https://api.aoskin.ru/#website",{"@id":80},{"@id":80},{"@id":97},"https://api.aoskin.ru/web-workers-api-kak-razgruzit-i-uskorit-veb/#breadcrumb",[99],{"@type":100,"target":101},"ReadAction",[15],{"@type":103,"inLanguage":83,"@id":80,"url":60,"contentUrl":60,"width":58,"height":59},"ImageObject",{"@type":105,"@id":97,"itemListElement":106},"BreadcrumbList",[107,111],{"@type":108,"position":23,"name":109,"item":110},"ListItem","Home","https://api.aoskin.ru/",{"@type":108,"position":112,"name":17},2,{"@type":114,"@id":93,"url":110,"name":115,"description":26,"publisher":116,"alternateName":115,"potentialAction":117,"inLanguage":83},"WebSite","aoskin.ru",{"@id":74},[118],{"@type":119,"target":120,"query-input":123},"SearchAction",{"@type":121,"urlTemplate":122},"EntryPoint","https://api.aoskin.ru/?s={search_term_string}",{"@type":124,"valueRequired":125,"valueName":126},"PropertyValueSpecification",true,"search_term_string",{"@type":128,"@id":74,"name":62,"image":131,"logo":133,"sameAs":134,"url":136},[129,130],"Person","Organization",{"@type":103,"inLanguage":83,"@id":132,"url":132,"contentUrl":132,"caption":62},"https://secure.gravatar.com/avatar/e5e502e32ef7d2bf805592a42dd48d98a3587a37b0e98191f187c9c37e7529fb?s=96&d=mm&r=g",{"@id":132},[135],"http://api.aoskin.ru","https://api.aoskin.ru/author/aoskin/","https://api.aoskin.ru/wp-content/uploads/2025/09/42-web-workers-api-1024x771.webp",{"self":139,"collection":149,"about":152,"author":155,"replies":158,"version-history":161,"predecessor-version":165,"wp:featuredmedia":169,"wp:attachment":172,"wp:term":175,"curies":182},[140],{"href":141,"targetHints":142},"https://api.aoskin.ru/wp-json/wp/v2/posts/1728",{"allow":143},[144,145,146,147,148],"GET","POST","PUT","PATCH","DELETE",[150],{"href":151},"https://api.aoskin.ru/wp-json/wp/v2/posts",[153],{"href":154},"https://api.aoskin.ru/wp-json/wp/v2/types/post",[156],{"embeddable":125,"href":157},"https://api.aoskin.ru/wp-json/wp/v2/users/1",[159],{"embeddable":125,"href":160},"https://api.aoskin.ru/wp-json/wp/v2/comments?post=1728",[162],{"count":163,"href":164},4,"https://api.aoskin.ru/wp-json/wp/v2/posts/1728/revisions",[166],{"id":167,"href":168},1738,"https://api.aoskin.ru/wp-json/wp/v2/posts/1728/revisions/1738",[170],{"embeddable":125,"href":171},"https://api.aoskin.ru/wp-json/wp/v2/media/1737",[173],{"href":174},"https://api.aoskin.ru/wp-json/wp/v2/media?parent=1728",[176,179],{"taxonomy":177,"embeddable":125,"href":178},"category","https://api.aoskin.ru/wp-json/wp/v2/categories?post=1728",{"taxonomy":180,"embeddable":125,"href":181},"post_tag","https://api.aoskin.ru/wp-json/wp/v2/tags?post=1728",[183],{"name":184,"href":185,"templated":125},"wp","https://api.w.org/{rel}",{"author":187,"wp:featuredmedia":236,"wp:term":297},[188],{"id":23,"name":62,"url":135,"description":26,"link":136,"slug":62,"avatar_urls":189,"yoast_head":192,"yoast_head_json":193,"acf":227,"_links":228},{"24":190,"48":191,"96":132},"https://secure.gravatar.com/avatar/e5e502e32ef7d2bf805592a42dd48d98a3587a37b0e98191f187c9c37e7529fb?s=24&d=mm&r=g","https://secure.gravatar.com/avatar/e5e502e32ef7d2bf805592a42dd48d98a3587a37b0e98191f187c9c37e7529fb?s=48&d=mm&r=g","\u003C!-- This site is optimized with the Yoast SEO plugin v28.5 - https://yoast.com/product/yoast-seo-wordpress/ -->\n\u003Ctitle>aoskin, Author at api.aoskin.ru\u003C/title>\n\u003C!-- Admin only notice: this page does not show a meta description because it does not have one, either write it for this page specifically or go into the [Yoast SEO - Settings] menu and set up a template. -->\n\u003Cmeta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" />\n\u003Clink rel=\"canonical\" href=\"https://api.aoskin.ru/author/aoskin/\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:locale\" content=\"en_US\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:type\" content=\"profile\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:title\" content=\"aoskin, Author at api.aoskin.ru\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:url\" content=\"https://api.aoskin.ru/author/aoskin/\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:site_name\" content=\"api.aoskin.ru\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:image\" content=\"https://secure.gravatar.com/avatar/e5e502e32ef7d2bf805592a42dd48d98a3587a37b0e98191f187c9c37e7529fb?s=500&d=mm&r=g\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta name=\"twitter:card\" content=\"summary_large_image\" class=\"yoast-seo-meta-tag\" />\n\u003Cscript type=\"application/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\/\\/schema.org\",\"@graph\":[{\"@type\":\"ProfilePage\",\"@id\":\"https:\\/\\/api.aoskin.ru\\/author\\/aoskin\\/\",\"url\":\"https:\\/\\/api.aoskin.ru\\/author\\/aoskin\\/\",\"name\":\"aoskin, Author at api.aoskin.ru\",\"isPartOf\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/author\\/aoskin\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\/\\/api.aoskin.ru\\/author\\/aoskin\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\/\\/api.aoskin.ru\\/author\\/aoskin\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\/\\/api.aoskin.ru\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Archives for aoskin\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\/\\/api.aoskin.ru\\/#website\",\"url\":\"https:\\/\\/api.aoskin.ru\\/\",\"name\":\"aoskin.ru\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/#\\/schema\\/person\\/b5e1c81c85a50ca05e16fcdfa29f4861\"},\"alternateName\":\"aoskin.ru\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\/\\/api.aoskin.ru\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\/\\/api.aoskin.ru\\/#\\/schema\\/person\\/b5e1c81c85a50ca05e16fcdfa29f4861\",\"name\":\"aoskin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\/\\/secure.gravatar.com\\/avatar\\/e5e502e32ef7d2bf805592a42dd48d98a3587a37b0e98191f187c9c37e7529fb?s=96&d=mm&r=g\",\"url\":\"https:\\/\\/secure.gravatar.com\\/avatar\\/e5e502e32ef7d2bf805592a42dd48d98a3587a37b0e98191f187c9c37e7529fb?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\/\\/secure.gravatar.com\\/avatar\\/e5e502e32ef7d2bf805592a42dd48d98a3587a37b0e98191f187c9c37e7529fb?s=96&d=mm&r=g\",\"caption\":\"aoskin\"},\"logo\":{\"@id\":\"https:\\/\\/secure.gravatar.com\\/avatar\\/e5e502e32ef7d2bf805592a42dd48d98a3587a37b0e98191f187c9c37e7529fb?s=96&d=mm&r=g\"},\"sameAs\":[\"http:\\/\\/api.aoskin.ru\"],\"mainEntityOfPage\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/author\\/aoskin\\/\"}}]}\u003C/script>\n\u003C!-- / Yoast SEO plugin. -->",{"title":194,"robots":195,"canonical":136,"og_locale":51,"og_type":196,"og_title":194,"og_url":136,"og_site_name":53,"og_image":197,"twitter_card":63,"schema":200},"aoskin, Author at api.aoskin.ru",{"index":46,"follow":47,"max-snippet":48,"max-image-preview":49,"max-video-preview":50},"profile",[198],{"url":199,"type":26,"width":26,"height":26},"https://secure.gravatar.com/avatar/e5e502e32ef7d2bf805592a42dd48d98a3587a37b0e98191f187c9c37e7529fb?s=500&d=mm&r=g",{"@context":67,"@graph":201},[202,210,215,221],{"@type":203,"@id":136,"url":136,"name":194,"isPartOf":204,"breadcrumb":205,"inLanguage":83,"potentialAction":207},"ProfilePage",{"@id":93},{"@id":206},"https://api.aoskin.ru/author/aoskin/#breadcrumb",[208],{"@type":100,"target":209},[136],{"@type":105,"@id":206,"itemListElement":211},[212,213],{"@type":108,"position":23,"name":109,"item":110},{"@type":108,"position":112,"name":214},"Archives for aoskin",{"@type":114,"@id":93,"url":110,"name":115,"description":26,"publisher":216,"alternateName":115,"potentialAction":217,"inLanguage":83},{"@id":74},[218],{"@type":119,"target":219,"query-input":220},{"@type":121,"urlTemplate":122},{"@type":124,"valueRequired":125,"valueName":126},{"@type":222,"@id":74,"name":62,"image":223,"logo":224,"sameAs":225,"mainEntityOfPage":226},[129,130],{"@type":103,"inLanguage":83,"@id":132,"url":132,"contentUrl":132,"caption":62},{"@id":132},[135],{"@id":136},[],{"self":229,"collection":233},[230],{"href":157,"targetHints":231},{"allow":232},[144,145,146,147,148],[234],{"href":235},"https://api.aoskin.ru/wp-json/wp/v2/users",[237],{"id":24,"date":238,"slug":239,"type":240,"link":241,"title":242,"author":23,"featured_media":77,"acf":243,"caption":244,"alt_text":26,"media_type":245,"mime_type":61,"media_details":246,"source_url":60,"_links":277},"2025-09-13T17:30:59","42-web-workers-api","attachment","https://api.aoskin.ru/web-workers-api-kak-razgruzit-i-uskorit-veb/42-web-workers-api/",{"rendered":239},[],{"rendered":26},"image",{"width":58,"height":59,"file":247,"filesize":248,"sizes":249,"image_meta":274},"2025/09/42-web-workers-api.webp",71008,{"medium":250,"large":256,"thumbnail":261,"medium_large":266,"full":272},{"file":251,"width":252,"height":253,"filesize":254,"mime_type":61,"source_url":255},"42-web-workers-api-300x226.webp",300,226,13022,"https://api.aoskin.ru/wp-content/uploads/2025/09/42-web-workers-api-300x226.webp",{"file":257,"width":258,"height":259,"filesize":260,"mime_type":61,"source_url":137},"42-web-workers-api-1024x771.webp",1024,771,73026,{"file":262,"width":263,"height":263,"filesize":264,"mime_type":61,"source_url":265},"42-web-workers-api-150x150.webp",150,5792,"https://api.aoskin.ru/wp-content/uploads/2025/09/42-web-workers-api-150x150.webp",{"file":267,"width":268,"height":269,"filesize":270,"mime_type":61,"source_url":271},"42-web-workers-api-768x578.webp",768,578,51276,"https://api.aoskin.ru/wp-content/uploads/2025/09/42-web-workers-api-768x578.webp",{"file":273,"width":58,"height":59,"mime_type":61,"source_url":60},"42-web-workers-api.webp",{"aperture":275,"credit":26,"camera":26,"caption":26,"created_timestamp":275,"copyright":26,"focal_length":275,"iso":275,"shutter_speed":275,"title":26,"orientation":275,"keywords":276},"0",[],{"self":278,"collection":282,"about":285,"author":288,"replies":290,"wp:attached-to":293,"curies":295},[279],{"href":171,"targetHints":280},{"allow":281},[144,145,146,147,148],[283],{"href":284},"https://api.aoskin.ru/wp-json/wp/v2/media",[286],{"href":287},"https://api.aoskin.ru/wp-json/wp/v2/types/attachment",[289],{"embeddable":125,"href":157},[291],{"embeddable":125,"href":292},"https://api.aoskin.ru/wp-json/wp/v2/comments?post=1737",[294],{"embeddable":125,"post_type":14,"id":5,"href":141},[296],{"name":184,"href":185,"templated":125},[298,346],[299],{"id":31,"link":300,"name":82,"slug":301,"taxonomy":177,"yoast_head":302,"yoast_head_json":303,"acf":328,"_links":329},"https://api.aoskin.ru/category/webapi/","webapi","\u003C!-- This site is optimized with the Yoast SEO plugin v28.5 - https://yoast.com/product/yoast-seo-wordpress/ -->\n\u003Ctitle>Web API Archives - api.aoskin.ru\u003C/title>\n\u003C!-- Admin only notice: this page does not show a meta description because it does not have one, either write it for this page specifically or go into the [Yoast SEO - Settings] menu and set up a template. -->\n\u003Cmeta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" />\n\u003Clink rel=\"canonical\" href=\"https://api.aoskin.ru/category/webapi/\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:locale\" content=\"en_US\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:type\" content=\"article\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:title\" content=\"Web API Archives - api.aoskin.ru\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:url\" content=\"https://api.aoskin.ru/category/webapi/\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta property=\"og:site_name\" content=\"api.aoskin.ru\" class=\"yoast-seo-meta-tag\" />\n\u003Cmeta name=\"twitter:card\" content=\"summary_large_image\" class=\"yoast-seo-meta-tag\" />\n\u003Cscript type=\"application/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\/\\/schema.org\",\"@graph\":[{\"@type\":\"CollectionPage\",\"@id\":\"https:\\/\\/api.aoskin.ru\\/category\\/webapi\\/\",\"url\":\"https:\\/\\/api.aoskin.ru\\/category\\/webapi\\/\",\"name\":\"Web API Archives - api.aoskin.ru\",\"isPartOf\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/category\\/webapi\\/#breadcrumb\"},\"inLanguage\":\"en-US\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\/\\/api.aoskin.ru\\/category\\/webapi\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\/\\/api.aoskin.ru\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Web API\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\/\\/api.aoskin.ru\\/#website\",\"url\":\"https:\\/\\/api.aoskin.ru\\/\",\"name\":\"aoskin.ru\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/#\\/schema\\/person\\/b5e1c81c85a50ca05e16fcdfa29f4861\"},\"alternateName\":\"aoskin.ru\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\/\\/api.aoskin.ru\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\/\\/api.aoskin.ru\\/#\\/schema\\/person\\/b5e1c81c85a50ca05e16fcdfa29f4861\",\"name\":\"aoskin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\/\\/api.aoskin.ru\\/wp-content\\/uploads\\/2025\\/09\\/42-web-workers-api.webp\",\"url\":\"https:\\/\\/api.aoskin.ru\\/wp-content\\/uploads\\/2025\\/09\\/42-web-workers-api.webp\",\"contentUrl\":\"https:\\/\\/api.aoskin.ru\\/wp-content\\/uploads\\/2025\\/09\\/42-web-workers-api.webp\",\"width\":1232,\"height\":928,\"caption\":\"aoskin\"},\"logo\":{\"@id\":\"https:\\/\\/api.aoskin.ru\\/wp-content\\/uploads\\/2025\\/09\\/42-web-workers-api.webp\"},\"sameAs\":[\"http:\\/\\/api.aoskin.ru\"]}]}\u003C/script>\n\u003C!-- / Yoast SEO plugin. -->",{"title":304,"robots":305,"canonical":300,"og_locale":51,"og_type":52,"og_title":304,"og_url":300,"og_site_name":53,"twitter_card":63,"schema":306},"Web API Archives - api.aoskin.ru",{"index":46,"follow":47,"max-snippet":48,"max-image-preview":49,"max-video-preview":50},{"@context":67,"@graph":307},[308,313,317,323],{"@type":309,"@id":300,"url":300,"name":304,"isPartOf":310,"breadcrumb":311,"inLanguage":83},"CollectionPage",{"@id":93},{"@id":312},"https://api.aoskin.ru/category/webapi/#breadcrumb",{"@type":105,"@id":312,"itemListElement":314},[315,316],{"@type":108,"position":23,"name":109,"item":110},{"@type":108,"position":112,"name":82},{"@type":114,"@id":93,"url":110,"name":115,"description":26,"publisher":318,"alternateName":115,"potentialAction":319,"inLanguage":83},{"@id":74},[320],{"@type":119,"target":321,"query-input":322},{"@type":121,"urlTemplate":122},{"@type":124,"valueRequired":125,"valueName":126},{"@type":324,"@id":74,"name":62,"image":325,"logo":326,"sameAs":327},[129,130],{"@type":103,"inLanguage":83,"@id":60,"url":60,"contentUrl":60,"width":58,"height":59,"caption":62},{"@id":60},[135],[],{"self":330,"collection":335,"about":338,"wp:post_type":341,"curies":344},[331],{"href":332,"targetHints":333},"https://api.aoskin.ru/wp-json/wp/v2/categories/20",{"allow":334},[144,145,146,147,148],[336],{"href":337},"https://api.aoskin.ru/wp-json/wp/v2/categories",[339],{"href":340},"https://api.aoskin.ru/wp-json/wp/v2/taxonomies/category",[342],{"href":343},"https://api.aoskin.ru/wp-json/wp/v2/posts?categories=20",[345],{"name":184,"href":185,"templated":125},[],1790427491008]