Headless и API-first
Архитектура Headless превращает Битрикс в поставщика API через роутинг D7 и контроллеры с отдачей чистого JSON (Response\Json). При переходе на внешний фронтенд отключается стандартная CSRF-защита в пользу JWT-токенов, однако проект теряет композитный кеш, визуальный режим правки и готовую логику компонентов корзины и умного фильтра.
Прогресс хранится в этом браузере. Войдите, чтобы сохранить его в аккаунте.
Что нужно понимать
-
1
Когда headless оправдан
-
2
Битрикс как бэкенд для Next.js и мобильных приложений
-
3
Авторизация и кеширование API
-
4
Что теряется: композит, визуальный редактор, стандартные компоненты
Материалы
Официальная документация
Материалы BXMax
Проверь себя
Фронт на Next.js получает ошибку на каждый POST к контроллеру, хотя GET работает. Где причина?
Префильтр Csrf, который стоит в контроллере по умолчанию: без sessid из сессии Битрикса запрос отклоняется. Для API с токенами Csrf вычитается из префильтров, а проверка JWT делается своим фильтром.
Что теряет проект, отказываясь от шаблонов Битрикса ради API?
Композит и HTML-кеш, стандартные компоненты с их логикой (фильтр, корзина, оформление заказа), режим правки и включаемые области для контент-менеджера. Всё это придётся написать на фронте и в контроллерах.
Почему JWT::decode нужно вызывать с явным списком алгоритмов?
Без списка токен, подписанный слабым алгоритмом, может быть принят. Передавать ['HS256'] или тот алгоритм, которым подписывали.
Как кешировать ответы API, если композит не работает?
На сервере — Cache::createInstance() с ключом из параметров запроса и тегами инфоблока; клиенту — Cache-Control через addHeader() у ответа. Композит кеширует только HTML-страницы.
Не сходится?
Спросите ассистента BXMax: он знает документацию и материалы сайта по этой теме.
Знаете материал лучше?
Предложите ссылку: после проверки она появится в этом разделе.
Войти, чтобы предложить