Workers
Cloudflare Workers выполняет код клиентов в изолятах V8 в сети Cloudflare, используя привязки к хранилищу, базам данных, очередям и сервисам инференса. На этой странице описаны модель выполнения, модель привязок, ограничения платформы, влияющие на архитектуру решений, и опубликованные тарифы.
Управление документом
Управление документом. Поставщик: Cloudflare, Inc. Владелец документа: Dana, технический писатель, Integrity Czech Republic s.r.o. Последняя проверка: 2026-08-31. Снимок содержимого упомянутой документации Cloudflare: 2026-08-28. Приведённые здесь значения сверены с источниками, перечисленными в разделе References, на указанные там даты. Cloudflare меняет лимиты и состав тарифов без предупреждения, поэтому проверяйте значение в источнике, прежде чем закладывать его в архитектуру.
Обзор
Workers представляет собой serverless-платформу Cloudflare для выполнения кода. Код развёртывается в сети, а не в конкретном регионе, и каждый вызов обрабатывается в том дата-центре, который принял запрос. Здесь нет инстансов, размер которых нужно подбирать, и нет рантайма, который нужно патчить, но платформа задаёт явные ограничения по CPU, памяти, количеству подзапросов и размеру скрипта, которые определяют, что на ней можно построить. Эти ограничения описаны в разделе «Лимиты и ограничения», и их стоит прочитать до начала проектирования, а не после.
Распространены два способа использования. В первом Worker размещается перед существующим источником и берёт на себя маршрутизацию, изменение заголовков, аутентификацию, персонализацию или кеширование, а само приложение остаётся на месте. Во втором приложение полностью строится на платформе, используя её сервисы хранения и баз данных без обычного сервера-источника.
Масштабированием управляет платформа в том смысле, что для каждого развёртывания заранее не выделяется ёмкость. При этом масштаб не безграничен: действуют ограничения на процессорное время и память в расчёте на один вызов, на число подзапросов и квоты на уровне сервиса, а также существуют элементы управления параллелизмом на уровне аккаунта. Проектируйте систему исходя из документированных лимитов, а не из предположения о неограниченном масштабе.
Архитектура
Worker выполняется в изоляте V8, а не в контейнере или виртуальной машине. Изолят представляет собой изолированный контекст выполнения JavaScript; в рамках одного процесса размещается множество изолятов, и запуск изолята обходится значительно дешевле, чем запуск образа контейнера. Именно это лежит в основе характеристик запуска платформы и экономики развертывания одного и того же кода в каждой точке присутствия.
Запуск не всегда бесплатен. Время холодного старта зависит от размера скрипта, объема работы, выполняемой на уровне модуля, и от необходимости создания экземпляра модуля WebAssembly. Крупные бандлы и интенсивная инициализация вызывают измеримые задержки холодного старта.
Среда выполнения реализует веб-платформенные API: fetch, Request и Response, URL, Web Crypto, потоки, WebSocket и подмножество API Node.js, включаемое через nodejs_compat флаг совместимости. Поведение среды выполнения фиксируется датой совместимости и флагами совместимости, указанными в конфигурации Worker, именно так платформа вносит изменения в поведение, не нарушая уже развёрнутый код.
Привязки соединяют Worker с ресурсами платформы. Привязка объявляется в конфигурации и добавляется в объект окружения во время выполнения, поэтому пространство имён KV, бакет R2, база данных D1, очередь, пространство имён Durable Object, модель AI или другой Worker рассматривается как возможность, а не как строка подключения или встроенные учётные данные.
Развертывание через Wrangler CLI публикует новую версию. Gradual Deployments направляют заданный процент трафика на новую версию, что означает, что во время такого развертывания одновременно работают две версии. Поэтому в этом режиме развертывание не является атомарным, и код должен корректно работать при одновременной работе обеих версий с одними и теми же данными.
В конвейере обработки запросов Cloudflare этапы обеспечения безопасности выполняются до вызова Worker, поэтому запрос, заблокированный WAF или правилом защиты от DDoS, не доходит до кода Worker.
Возможности
| Возможность | Поведение | Статус и уровень | Источник |
|---|---|---|---|
| Среда выполнения JavaScript и TypeScript | Основной поддерживаемый runtime, который выполняется в V8 isolates и использует стандартные веб-API. | Общедоступно. | Runtime API |
| WebAssembly | Модули, скомпилированные из Rust, C, C++ и других языков и вызываемые из точки входа на JavaScript. | Общедоступно. | WebAssembly |
| Python Workers | Точки входа Python, которые выполняются на платформе. | Открытая бета. Требуется python_workers флаг совместимости. Не подходит для нагрузки, которая требует гарантии стабильности. | Python Workers |
| Workers KV | Глобальное хранилище пар "ключ-значение" с согласованностью в конечном счёте, оптимизированное для высокой нагрузки на чтение. | Общедоступно. | Workers KV |
| R2 | Объектное хранилище с S3-совместимым API и без платы за исходящий трафик в интернет. | Общедоступно. | R2 |
| D1 | Бессерверная база данных SQL на основе SQLite. | Общедоступно. | D1 |
| Durable Objects | Объекты с единственным экземпляром и состоянием, обеспечивающие строгую согласованность, транзакционное хранилище и координацию WebSocket. | Общедоступно. | Durable Objects |
| Queues, Cron Triggers, Workflows | Асинхронная обработка сообщений, запуск по расписанию и надёжное многошаговое выполнение. | Перед использованием проверяйте статус отдельной функции в первоисточнике. | Queues |
| Workers AI и Vectorize | Инференс на размещённых моделях, а также хранение и поиск по векторным индексам. | Статус моделей и функций варьируется, некоторые находятся в бета-версии. Проверяйте статус для каждой модели отдельно. | Workers AI |
| Static Assets и Wrangler | Хостинг статических ресурсов для full-stack приложений: локальная разработка, версионирование, поэтапные развертывания и наблюдаемость через Wrangler CLI. | Общедоступно. | Wrangler |
Модель настройки
Worker определяется своим кодом и файлом конфигурации, wrangler.jsonc или wrangler.toml. Конфигурация задаёт следующее:
- Точка входа и настройки сборки. Точка входа модуля и любой этап сборки.
- Дата и флаги совместимости. Поведение среды выполнения, под которое был написан код. Изменение compatibility date является осознанным действием с заметными последствиями, и его следует рассматривать как изменение кода.
- Привязки. пространства имён KV, бакеты R2, базы данных D1, пространства имён Durable Object, очереди, service bindings к другим Workers, AI bindings и обычные переменные окружения.
- Секреты. Хранится вне файла конфигурации, задаётся через Wrangler или панель управления и становится доступным в объекте окружения во время выполнения.
- Триггеры. Routes и Custom Domains для вызова по HTTP, cron-выражения для вызова по расписанию и объявления потребителей очередей.
- Окружения. Именованные варианты конфигурации для тестового и боевого окружений, каждый со своими привязками и секретами.
- Лимиты. Там, где это поддерживается, явный лимит CPU для Worker.
Выбор хранилища представляет собой главное архитектурное решение и зависит от требуемой модели согласованности и характера доступа к данным. Используйте KV для частого чтения данных, допускающих согласованность в конечном счёте, D1 для реляционных запросов, R2 для объектов, Durable Objects, если требуется строгая согласованность или координация на уровне отдельной сущности, и Queues, если обработку нужно вынести за пределы запроса.
Храните конфигурацию в системе контроля версий вместе с кодом: привязки и настройки совместимости влияют на поведение во время выполнения не меньше, чем исходный код.
Лимиты и ограничения
Приведённые ниже значения взяты из документации Cloudflare по лимитам платформы, проверено 2026-08-31 (https://developers.cloudflare.com/workers/platform/limits/). Они могут изменяться без предупреждения, поэтому их следует перепроверять, прежде чем полагаться на них в решении.
| Лимит | Free | Платный |
|---|---|---|
| Запросы | 100,000 в день, 1,000 в минуту | Тарификация за запрос, без суточного лимита |
| Время CPU на вызов | 10 мс | 30 s по умолчанию, можно настроить до 5 минут |
| Память на изолят | 128 MB | 128 MB |
| Размер Worker после сжатия | 3 MB | 10 MB |
| Подзапросы на один вызов | 50 | 10,000 |
| Подзапросы к внутренним сервисам на один вызов, например к KV, R2 и D1 | 1,000 | Соответствует настроенному лимиту, по умолчанию 10 000 |
| Одновременные исходящие соединения | 6 | 6 |
| Переменные окружения для каждого Worker | 64 | 128 |
| Время CPU для Cron Trigger | 10 мс | 30 s для интервалов менее 1 часа; 15 минут для интервалов от 1 часа и более |
Subrequest представляет собой любой запрос, который Worker выполняет через Fetch API или к сервису Cloudflare через привязку, поэтому вызовы fetch и вызовы через привязку расходуют один и тот же бюджет в рамках одного вызова Worker.
Ограничения сервиса хранения данных, данные получены 2026-08-28:
- Workers KV. Размер ключа 512 байт, размер значения 25 МиБ, а документированный лимит составляет примерно одну запись в секунду на один и тот же ключ. KV обеспечивает согласованность в конечном счёте: запись не гарантированно сразу видна при чтении из другого региона.
- R2. При превышении лимита размера объекта для одного запроса требуется многочастевая (multipart) загрузка, при этом действуют ограничения на размер части. Исходящий трафик в интернет не тарифицируется, операции тарифицируются по классу.
- D1. На максимальный размер базы данных и на отдельные запросы действуют ограничения. База данных D1 не заменяет горизонтально масштабируемый реляционный кластер, поэтому перед планированием объёма данных уточните текущее максимальное значение.
- Durable Objects. Объект однопоточный, поэтому пропускная способность на объект ограничена, а шаблоны обращения к «горячим» ключам необходимо исключать еще на этапе проектирования. Действуют лимиты хранения на объект, которые отличаются для бэкендов на основе «ключ-значение» и SQLite.
Дополнительные ограничения:
- Python Workers доступны в открытой бета-версии и требуют
python_workersфлаг совместимости. Планирование продакшен нагрузки на них означает готовность к бета статусу и возможным изменениям поведения. - Время CPU измеряет время, потраченное на выполнение, а не астрономическое время. Ожидание подзапроса не расходует время CPU, но общая длительность запроса всё равно подчиняется тайм-аутам HTTP и поведению клиента.
- Холодный старт полностью не устраняется. Большие бандлы, объёмная инициализация на уровне модуля и создание экземпляров WebAssembly ощутимо увеличивают время запуска.
- При постепенном развёртывании одновременно работают две версии, поэтому на время развёртывания изменения схемы и формата данных должны сохранять обратную совместимость.
- Совместимость с Node.js является частичной и зависит от
nodejs_compatфлаг и дату совместимости. Библиотеки, которым требуются неподдерживаемые API Node.js, нативные модули или долгоживущие необработанные TCP-соединения, могут не работать. - На уровне аккаунта действуют ограничения по параллелизму и частоте запросов. Если для рабочей нагрузки ожидаются экстремальные всплески параллелизма, это следует подтверждать по условиям контракта, а не принимать как данность.
Доступность по планам
| Уровень | Включено |
|---|---|
| Free | 100,000 запросов в день, 10 мс процессорного времени на вызов, 3 MB сжатого размера Worker, 50 вложенных запросов на вызов, с отдельными бесплатными лимитами для KV, D1 и R2. |
| Workers Paid | Cloudflare устанавливает минимальную стоимость в 5 долларов США в месяц, включая 10 миллионов запросов и 30 миллионов CPU-миллисекунд в месяц, а использование сверх этих объёмов оплачивается за каждый запрос и каждую CPU-миллисекунду. Повышает время CPU по умолчанию до 30 секунд, размер Worker до 10 МБ и число HTTP-подзапросов до 1 000. |
| Сервисы платформы | KV, R2, D1, Durable Objects, Queues, Vectorize и Workers AI тарифицируются отдельно от запросов Workers, у каждого свой бесплатный лимит и цена за единицу. R2 не взимает плату за исходящий трафик в интернет. |
| Enterprise | Договорные условия, гарантированный объем использования и условия поддержки. |
Актуально по состоянию на 2026-08-28 согласно публичной документации Cloudflare о тарифах (https://developers.cloudflare.com/workers/platform/pricing/). Цены, включённые объёмы и лимиты могут изменяться без предупреждения. Рассчитывайте стоимость по страницам тарифов для каждой службы, задействованной в решении, а не только по цене запросов Workers.
Развёртывание
Предварительные требования.
- Определите подходящую нагрузку и классифицируйте её: edge-логика перед существующим origin-сервером, API, задача по расписанию или полноценное приложение.
- Сопоставьте рабочую нагрузку с примитивами платформы и зафиксируйте требования к согласованности для каждой части состояния, поскольку именно это определяет выбор хранилища.
- Перед написанием кода сверьте нагрузку с документированными лимитами: пиковое использование CPU на запрос, пиковое использование памяти, количество исходящих вызовов на запрос, размер бандла и любые зависимости, требующие неподдерживаемого Node.js API.
- Подтвердите выбранную среду выполнения. Если предлагается Python, зафиксируйте, что Python Workers находятся в открытой бета-версии, и получите решение о приемлемости этого статуса.
- Зафиксируйте, где сейчас хранятся секреты и как они будут передаваться в качестве секретов Worker.
- Зафиксируйте текущий путь трафика и маршрут отката к нему.
Поэтапная проверка. Реализуйте нагрузку в тестовом окружении с собственными привязками и собственными данными и проверьте её на репрезентативном трафике. Замерьте время CPU на вызов, использование памяти и число подзапросов относительно лимитов тарифного плана, а также поведение при холодном старте на боевом размере бандла, а не на урезанном. Убедитесь, что данные наблюдаемости доходят до нужного назначения, прежде чем направлять на сервис реальный трафик.
Настройка.
- Явно объявляйте bindings и указывайте дату совместимости, не полагаясь на значение по умолчанию.
- Перенесите все учетные данные в Worker secrets и убедитесь, что в репозитории или конфигурационном файле их не осталось.
- Настройте отдельные стейджинг- и продакшен-окружения с разными ресурсами хранения, чтобы ошибка при развёртывании не могла привести к записи в продакшен-данные.
- Настройте CI так, чтобы развёртывание выполнялось пайплайном с ограниченным по правам API-токеном, а не с рабочей станции разработчика.
- Добавьте ограничение частоты запросов перед общедоступными маршрутами Worker, а также кеширование там, где это допускает ответ, чтобы ограничить объем запросов и, соответственно, расходы.
- Оцените стоимость модели относительно ожидаемого трафика, используя страницы тарификации для каждого сервиса, включая классы операций хранения, и настройте оповещения о выставлении счетов.
Переключение. Направляйте продакшен-трафик постепенно с помощью Gradual Deployments или маршрута, охватывающего часть путей. Поскольку во время поэтапного развёртывания одновременно обслуживаются две версии, убедитесь, что новая версия совместима с данными, которые записала предыдущая версия, а также с данными, которые предыдущая версия продолжит записывать в процессе развёртывания.
Верификация.
- Прежде чем увеличивать долю трафика, проверьте частоту ошибок и задержку на каждом её значении относительно зафиксированного базового уровня.
- Убедитесь, что время CPU на один вызов остаётся в пределах установленного лимита при характерной для продакшена структуре трафика, поскольку превышение лимита под нагрузкой проявляется как перемежающиеся сбои.
- Убедитесь, что логи и метрики формируются и хранятся так, как предполагалось.
- Убедитесь, что объём операций с хранилищем соответствует ожидаемому, поскольку во многих архитектурах на стоимость больше влияет количество операций, чем количество запросов.
- Убедитесь, что предыдущий путь по прежнему работает, чтобы оставался доступен откат.
Откат. Верните трафик на предыдущую версию через интерфейс развёртывания или удалите маршрут, чтобы запросы попадали напрямую к источнику. Не удаляйте предыдущую версию, а оставьте её развёрнутой, пока новая версия не пройдёт полный цикл трафика. Если формат схемы или данных изменился, перед откатом убедитесь, что предыдущая версия всё ещё может читать данные, записанные новой версией.
Вопросы эксплуатации
Отслеживайте время CPU, частоту ошибок и количество подзапросов по каждому маршруту, а не только объём запросов. Сбои, связанные с лимитами, проявляются под нагрузкой и незаметны в тестовой среде с низким трафиком.
Периодически пересматривайте дату совместимости. Если оставить её неизменной надолго, Worker будет работать со всё более устаревшим поведением среды выполнения; если же изменить дату без тестирования, поведение изменится непредсказуемо. Относитесь к изменению даты как к отдельному изменению, которое требует собственной проверки.
Следите за количеством операций с хранилищем наряду с количеством запросов. Если архитектура выполняет несколько операций с KV или D1 на каждый запрос, стоимость определяется в основном этими операциями, и изменение кеширования может существенно изменить сумму счёта в любую сторону.
Ротируйте секреты Worker по расписанию и храните их только в хранилище секретов платформы. Поскольку привязки заменяют строки подключения, утечка секрета обычно затрагивает учётные данные приложения, а не платформы, но требование о ротации остаётся тем же.
Проектируйте ключи Durable Object так, чтобы нагрузка распределялась между объектами. Если один объект обрабатывает непропорционально большую долю трафика, он становится потолком пропускной способности, который не устраняется никаким масштабированием платформы.
Отказы, которые стоит учитывать заранее: обновление зависимости, из-за которого размер бандла превышает лимит; фрагмент кода, который иногда превышает лимит CPU при больших входных данных; конкуренция за запись в KV по одному ключу; вышестоящий сервис, который работает настолько медленно, что удерживает подзапросы открытыми; и постепенное развёртывание, оставшееся частично выполненным.
Известные особенности
- Python Workers находятся в открытой бета-версии и требуют флага совместимости. Если упомянуть их рядом с общедоступными средами выполнения без этой оговорки, архитектор может заложить в план продакшена бета-версию среды выполнения.
- Платформа не свободна от ограничений производительности. Время CPU, память, размер бандла, количество подзапросов и квоты на уровне сервиса ограничивают возможности одного вызова.
- Холодный старт существует. Для компактных JavaScript-бандлов он незначителен, а для крупных бандлов и создания экземпляров WebAssembly увеличивается.
- Постепенное развёртывание намеренно не атомарно. Две версии обслуживают запросы одновременно, и это требование к совместимости данных, а не просто деталь реализации.
- KV обеспечивает согласованность в конечном счёте и имеет ограничение на частоту записи для каждого ключа. Использование KV в качестве основного хранилища для быстро изменяющегося состояния приводит к проблемам с корректностью данных, которые проявляются только при параллельном доступе.
- Durable Object является однопоточным. Пропускная способность на объект ограничена архитектурно, а не тарифным планом аккаунта.
- Совместимость с Node.js является частичной. Дерево зависимостей, которое успешно собирается локально, всё же может дать сбой во время выполнения из-за неподдерживаемого API.
- Переносимость частичная. Стандартные веб-API, совместимый с S3 API R2 и диалект SQLite в D1 сохраняют переносимость большей части логики приложения, тогда как перенос Durable Objects и других платформозависимых сервисов потребует изменения архитектуры. На этапе проектирования определите, к какой категории относится каждый компонент.
Совместимость
Workers выполняются после фаз безопасности конвейера обработки запросов Cloudflare, поэтому решения WAF, DDoS и Bot Management применяются раньше, чем запускается код Worker. Заблокированный запрос никогда не доходит до Worker.
Workers взаимодействуют с CDN через Cache API и через Cache Rules. Если и Cache Rule, и логика кеширования Worker применяются к одному и тому же запросу, приоритет определяется задокументированной последовательностью обработки трафика.
R2 может выступать источником для CDN и лежит в основе Cache Reserve, поэтому объектное хранилище, кеширование и вычисления работают вместе без обычного сервера-источника.
Service bindings позволяют одному Worker вызывать другой без обращения по сети, что даёт возможность разбивать приложение на отдельно развёртываемые модули и сохранять низкую задержку вызовов.
Валидацию Turnstile можно выполнять в Worker, что позволяет проводить проверку на edge, а не в бэкенде приложения.
Access можно разместить перед маршрутом Worker, чтобы запросы проходили аутентификацию и авторизацию до вызова, без необходимости реализовывать аутентификацию в самом Worker.
Часто задаваемые вопросы
Требуется ли полная миграция приложения для перехода на Workers? Нет. Распространённый способ внедрения заключается в том, чтобы разместить Worker на маршруте перед существующим источником для обработки редиректов, логики кеширования, аутентификации или персонализации, при этом само приложение остаётся на месте. Перенос самого приложения является отдельным решением.
Что на самом деле измеряет ограничение CPU? Время, затраченное на выполнение кода, а не общая длительность запроса. Ожидание subrequest не расходует CPU-время, поэтому запрос может длиться дольше, чем лимит CPU, не превышая его.
Какой сервис хранения должен содержать состояние сессии или координации? Durable Objects, если требуется строгая согласованность или координация на уровне отдельных сущностей. KV обеспечивает согласованность в конечном счёте и ограничивает частоту запросов на ключ, поэтому не подходит для быстро изменяющегося состояния в рамках одного ключа.
Какие части приложения на Workers можно перенести на другую платформу? Код, написанный с использованием стандартных веб-API, данные в R2 через S3-совместимый API, а также схемы и запросы D1 на диалекте SQLite в основном переносимы. Durable Objects и другие платформенно-зависимые сервисы потребуют переработки архитектуры.
Источники
- https://developers.cloudflare.com/workers/, дата обращения 2026-08-28.
- https://developers.cloudflare.com/workers/platform/limits/, дата обращения 2026-08-28.
- https://developers.cloudflare.com/workers/platform/pricing/, дата обращения 2026-08-28.
- https://developers.cloudflare.com/workers/languages/python/, дата обращения 2026-08-28.
- https://developers.cloudflare.com/workers/configuration/compatibility-dates/, дата обращения 2026-08-28.
- https://developers.cloudflare.com/workers/configuration/versions-and-deployments/gradual-deployments/, дата обращения 2026-08-28.
- https://developers.cloudflare.com/kv/, дата обращения 2026-08-28.
- https://developers.cloudflare.com/r2/, дата обращения 2026-08-28.
- https://developers.cloudflare.com/d1/, дата обращения 2026-08-28.
- https://developers.cloudflare.com/durable-objects/, дата обращения 2026-08-28.
Снимок контента: 2026-08-28.
История изменений
| Дата | Изменение | Автор |
|---|---|---|
| 2026-08-31 | Переписано как технический справочник: убран маркетинговый стиль, добавлены таблицы лимитов и доступности по тарифным планам со ссылками на источники, числовые данные сверены с документацией Cloudflare. | Команда документации Integrity |
| 2026-08-28 | Первая публикация. | Команда документации Integrity |
Содержание
464 страницы, зеркалированные из документации Cloudflare для workers.
Pages
- Рекомендации
- Workers Cache
- CI/CD
- Конфигурация
- Базы данных
- Демонстрации и архитектуры
- Примеры
- Руководства по фреймворкам
- Начало работы
- Глоссарий
- Языки
- Локальная разработка
- Observability
- Cloudflare Workers
- Платформа
- Playground
- Справочник
- Runtime API
- Static Assets
- Тестирование
- Руководства
- Версии и развёртывания
- Плагин Vite
- Wrangler
Рекомендации
Workers Cache
CI/CD
- Builds
- Дополнительные сценарии настройки
- Справочник по API Builds
- Автоматическое создание pull request
- Ветки сборки
- Кеширование сборки
- Образ сборки
- Отслеживаемые пути сборки
- Конфигурация
- Deploy Hooks
- Подписки на события
- Интеграция с Git
- Интеграция с GitHub
- Интеграция с GitLab
- Лимиты и цены
- MCP-сервер
- Устранение неполадок со сборками
- Внешний CI/CD
- GitHub Actions
- GitLab CI/CD
Конфигурация
- Привязки (env)
- Cloudflare Access
- Даты совместимости
- Флаги совместимости
- Cron Triggers
- Переменные окружения
- Интеграции
- API
- Внешние сервисы
- Метаданные составной загрузки
- Placement
- Маршруты и домены
- Custom Domains
- Маршруты
- workers.dev
- Секреты
- Workers Sites
- конфигурация Workers Sites
- Начало с имеющегося
- Начало с нуля
- Начало из Worker
- Page Rules
Базы данных
- Analytics Engine
- Подключение к базам данных
- Cloudflare D1
- Hyperdrive
- Сторонние интеграции
- Neon
- PlanetScale
- Supabase
- Turso
- Upstash
- Xata
- Vectorize (векторная база данных)
Демонстрации и архитектуры
Примеры
- 103 Early Hints
- A/B тестирование с прямым доступом по тому же URL
- Доступ к Cloudflare Object
- Агрегированные запросы
- Изменение заголовков
- Запись в Analytics Engine
- Аутентификация с помощью заголовков
- Базовая аутентификация HTTP
- Блокировка на TLS
- Массовое переопределение источника
- Bulk Redirects
- Использование Cache API
- Кеширование POST-запросов
- Cache Tags в Workers
- Кеширование с помощью fetch
- Условный ответ
- Прокси заголовков CORS
- Редирект по коду страны
- Настройка Cron Triggers
- Предотвращение потери данных
- Отладочные журналы
- Разбор cookie
- Получение HTML
- Получение JSON
- Геолокация: приложение погоды
- Геолокация: пользовательское оформление
- Геолокация: Hello World
- Hot-link protection
- Custom Domain для Images
- Вывод заголовков в консоль
- Изменение свойства запроса
- Изменение ответа
- Несколько Cron Triggers
- Потоковая передача ответов OpenAI API
- Отправить JSON
- Использование timingSafeEqual
- Чтение POST
- Перенаправление
- Ответ с другого сайта
- Возвращает небольшую HTML-страницу
- Возвращает JSON
- Перезапись ссылок
- Настройка заголовков безопасности
- Подпись запросов
- Оболочка одностраничного приложения (SPA) с данными начальной загрузки
- Потоковая передача большого JSON
- Turnstile с Workers
- Использование WebSockets API
Руководства по фреймворкам
- ИИ и агенты
- Agents SDK
- LangChain
- API
- FastAPI
- Hono
- Развертывание существующего проекта
- Мобильные приложения
- Expo
- Веб-приложения
- Astro
- Микрофронтенды
- Больше руководств...
- Analog
- Angular
- Docusaurus
- Gatsby
- Hono
- Nuxt
- Qwik
- Solid
- Waku
- Next.js
- Адаптер OpenNext
- React + Vite
- React Router (ранее Remix)
- RedwoodSDK
- SvelteKit
- TanStack Start
- Vike
- Vue
Начало работы
Языки
- JavaScript
- Примеры
- Python Workers
- Основы
- Примеры
- Foreign Function Interface (FFI)
- Как работают Python Workers
- Пакеты
- FastAPI
- Langchain
- Standard Library
- Rust
- Поддерживаемые crates
- TypeScript
- Примеры
Локальная разработка
- Поддерживаемые привязки в зависимости от режима разработки
- Переменные окружения и секреты
- Добавление локальных данных
- Общий доступ к локальному серверу разработки
- Local Explorer
- Разработка с несколькими Workers
- Плагин Vite
- Выбор между Wrangler и Vite
Observability
- DevTools
- Точки останова
- Профилирование использования CPU
- Профилирование памяти
- Ошибки и исключения
- Экспорт данных OpenTelemetry
- Экспорт в Axiom
- Экспорт в Grafana Cloud
- Экспорт в Honeycomb
- Экспорт в PostHog
- Экспорт в Sentry
- Журналы
- Workers Logpush
- Логи в реальном времени
- Tail Workers
- Workers Logs
- MCP-сервер
- Метрики и аналитика
- Query Builder
- Source maps и трассировки стека
- Интеграции
- Sentry
- Трассировки
- Пользовательские спаны
- Известные ограничения
- Spans и атрибуты
Платформа
- Бета-функции
- Кнопка Built with Cloudflare
- Привязка развёртываний (временные учётные записи)
- Кнопки Deploy to Cloudflare
- Инфраструктура как код (IaC)
- Известные проблемы
- Лимиты
- Цены
- Выберите продукт для работы с данными или хранилищем
- Workers for Platforms
Справочник
- Как работает кеш
- Как работает Workers
- Переход с Service Workers на ES Modules
- Протоколы
- Модель безопасности
Runtime API
- Привязки (env)
- AI
- Analytics Engine
- Assets
- Browser Run
- D1
- Диспетчер (Workers for Platforms)
- Durable Objects
- Переменные окружения
- Hyperdrive
- Изображения
- KV
- Media Transformations
- mTLS
- Queues
- R2
- Rate Limiting
- Секреты
- Secrets Store
- Service bindings
- HTTP
- RPC (WorkerEntrypoint)
- Stream
- Vectorize
- Метаданные версии
- Dynamic Workers
- Workflows
- Кеш
- Консоль
- Контекст (ctx)
- Кодирование
- EventSource
- Fetch
- Обработчики
- Alarm Handler
- Email Handler
- Обработчик fetch
- Обработчик Queue
- Обработчик scheduled
- Обработчик Tail
- Headers
- HTMLRewriter
- MessageChannel
- Совместимость с Node.js
- assert
- AsyncLocalStorage
- Buffer
- crypto
- Diagnostics Channel
- dns
- EventEmitter
- fs
- http
- https
- net
- путь
- process
- Streams
- StringDecoder
- тест
- таймеры
- tls
- url
- util
- zlib
- Производительность и таймеры
- Запрос
- Ответ
- Удалённый вызов процедур (RPC)
- Обработка ошибок
- Жизненный цикл
- Зарезервированные методы
- TypeScript
- Модель видимости и безопасности
- Планировщик
- Streams
- ReadableStream
- ReadableStream BYOBReader
- ReadableStream DefaultReader
- TransformStream
- WritableStream
- WritableStream DefaultWriter
- TCP-сокеты
- Web Crypto
- Веб-стандарты
- WebAssembly (Wasm)
- Wasm в JavaScript
- WebSockets
Static Assets
- Тарификация и ограничения
- Конфигурация и Bindings
- Direct Uploads
- Начало работы
- Headers
- Руководства по миграции
- Перенос с Pages на Workers
- Переход с Netlify на Workers
- Перенос с Vercel на Workers
- Перенаправления
- Маршрутизация
- Продвинутый уровень
- Привязка к версии
- Обработка HTML
- Обслуживание поддиректории
- Full-stack-приложение
- Одностраничное приложение (SPA)
- Static Site Generation (SSG) и настраиваемые страницы 404
- Скрипт Worker
Тестирование
- Miniflare
- Основное
- Даты совместимости
- Fetch-события
- Модули
- Несколько Workers
- Queues
- Запланированные события
- Веб-стандарты
- Переменные и секреты
- WebSockets
- Разработка
- Подключение отладчика
- Live Reload
- Начало работы
- Миграции
- Переход с версии 2
- Хранилище
- Кеш
- D1
- Durable Objects
- KV
- R2
- Написание тестов
- Инфраструктура для интеграционных тестов
- Настройка инфраструктуры для тестирования
- Начало работы
- Интеграции
- Работа с Workers
- Подготовьте тестовое состояние
- unstable_startWorker() в Wrangler
- Интеграция Vitest
- Конфигурация
- Отладка
- Изоляция и параллелизм
- Известные проблемы
- Руководства по миграции
- Переход от тестовых окружений Miniflare 2
- Переход с unstable_dev
- Переход с Vitest 3 на Vitest 4
- Переход на плагин Vitest
- Подмена исходящих запросов
- Рецепты и примеры
- Test APIs
- Напишите свой первый тест
Руководства
- Создайте Jamstack-приложение со списком задач
- Создайте генератор QR-кодов
- Создайте Slackbot
- Подключение к базе данных Turso и выполнение запросов с помощью Workers
- Создайте дообученную модель OpenAI с помощью R2
- Развертывание чат-приложения в реальном времени
- Развертывание приложения Express.js на Cloudflare Workers
- Создание превью YouTube с помощью Workers и Cloudflare Image Resizing
- SMS-уведомления GitHub через Twilio
- Обработка отправки форм с помощью Airtable
- Подключение к базе данных MySQL с помощью Cloudflare Workers
- Вызов функций OpenAI GPT с помощью JavaScript и Cloudflare Workers
- Подключение к базе данных PostgreSQL с помощью Cloudflare Workers
- Отправка писем через Postmark
- Отправка писем через Resend
- Безопасный доступ к ресурсам и их загрузка с помощью Cloudflare R2
- Настройка и использование базы данных Prisma Postgres
- Используйте Workers KV напрямую из Rust
Версии и развёртывания
- Управление развертываниями
- Постепенные развёртывания
- Привязка к версии
- С Durable Objects
- Preview URLs
- Откаты
- Переопределения версий
Плагин Vite
- Начало работы
- Справочник
- API
- Cloudflare Environments
- Отладка
- Переход с wrangler dev
- Модули, отличные от JavaScript
- Программная конфигурация
- Секреты
- Static Assets
- Окружения Vite
- Руководство - React SPA с API
Wrangler
- API
- Bundling
- Команды
- Артефакты
- Браузер
- Сертификаты
- Containers
- D1
- Флагман
- Общие команды
- Hyperdrive
- KV
- Pages
- Pipelines
- Queues
- R2
- Secrets Store
- Tunnel
- Vectorize
- VPC
- Workers
- Workers for Platforms
- Workflows
- Конфигурация
- Пользовательские сборки
- Устаревшие функции
- Окружения
- Установка/Обновление Wrangler
- Миграции
- Переход с Wrangler v2 на v3
- Переход с Wrangler v3 на v4
- Переход с Wrangler v1 на v2
- 1. Перенос проектов webpack
- 2. Обновление до Wrangler v2
- Wrangler v1 (устаревшая версия)
- Аутентификация
- Команды
- Конфигурация
- Установка / Обновление
- Webpack
- Профили аутентификации
- Системные переменные окружения
