409 Conflict

4 мин чтения
Обновлено 24 июля 2026

Код 409 Conflict означает, что запрос противоречит текущему состоянию ресурса на сервере: выполнить его прямо сейчас нельзя, но после устранения конфликта — можно. Классический пример — два человека одновременно редактируют одну запись, и второе сохранение отклоняется. Для владельца сайта 409 на обычной странице почти всегда сигнал об ошибке в логике приложения или о том, что мониторинг направлен не на тот адрес.

Что означает код 409

409 — клиентская ошибка из группы 4xx, описанная в стандарте RFC 9110. Сервер понял запрос, но отказался его выполнять: результат противоречил бы текущему состоянию ресурса. Стандарт рекомендует включать в тело ответа описание конфликта, чтобы клиент мог устранить его и повторить запрос.

Отличия от смежных кодов важны для диагностики. 400 Bad Request — запрос синтаксически некорректен, сервер его вообще не разобрал. 422 Unprocessable Content — формат верный, но данные не проходят проверку приложения. При 409 и синтаксис, и данные корректны — мешает состояние ресурса: версия записи устарела, объект с таким именем уже существует, родительская папка удалена. Место 409 среди остальных кодов — в полном списке кодов ответа HTTP.

Чаще всего 409 встречается в API и файловых хранилищах: при повторном создании ресурса с тем же идентификатором, при конфликте версий или при загрузке файла по WebDAV в несуществующую папку.

Считает ли Tracker.ru 409 падением

Да. Успешной Tracker.ru считает только проверку с кодом 2xx. Ответ 409 помечает сайт недоступным, тип ошибки — «HTTP-ошибка», и вы получаете уведомление на email, в Telegram или по webhook. Проверки идут из нескольких регионов, поэтому случайный сбой в одной точке легко отличить от общей проблемы. Обычная страница не должна отвечать 409 на простой GET-запрос: если мониторинг фиксирует этот код, конфликт возвращает само приложение, и с ним стоит разобраться. Периоды недоступности отражаются в статистике аптайма.

Типичные причины

  • Мониторинг направлен на API-метод, меняющий данные. Если проверяемый адрес создаёт или обновляет ресурс, повторные запросы мониторинга упираются в «такой объект уже существует» — и сервер честно отвечает 409.
  • Конфликт версий при одновременном редактировании. Приложение сверяет версию записи (заголовок If-Match, ETag или поле версии) и отклоняет сохранение, если данные уже изменил кто-то другой.
  • WebDAV и файловые хранилища. По стандарту WebDAV сервер возвращает 409 при загрузке файла в несуществующую коллекцию — так ведут себя Nextcloud, ownCloud и модуль DAV в веб-серверах.
  • Дубликат при создании ресурса. Регистрация с занятым email, повторное создание заказа с тем же номером, конфликт имени материала в системе управления контентом.
  • Ошибка логики приложения. Разработчик выбрал 409 для ситуации, где уместнее 400, 422 или 500, — и код всплывает на страницах, где конфликтовать нечему.
  • Плагин или правило безопасности. Отдельные CMS-плагины и WAF-правила отвечают 409 на запросы, которые сочли подозрительными, включая запросы систем мониторинга.

Что проверить владельцу сайта

  1. Откройте онлайн-проверку кода ответа своего сайта — она покажет реальный ответ сервера без кэша браузера и без регистрации.
  2. Убедитесь, что мониторинг направлен на обычную страницу, а не на API-метод, меняющий данные. Для проверки доступности подходит адрес, который отвечает на GET одинаково при каждом запросе.
  3. Изучите тело ответа 409: по стандарту сервер описывает в нём суть конфликта — часто этого достаточно для диагностики.
  4. Посмотрите логи приложения в момент проверки: какой обработчик вернул 409 и почему.
  5. Проверьте недавние изменения — обновления CMS, новые плагины, правила WAF. Они могли начать отвечать 409 на автоматические запросы.
  6. Если 409 отдаёт ваш API, обсудите с разработчиками идемпотентность метода: повторный одинаковый запрос не должен создавать конфликт.

Как часто встречается 409 на практике

Код 409 отметился в проверках Tracker.ru лишь 22 раза из десяти с лишним миллионов (по данным на июль 2026). Это ожидаемо: конфликт состояния возникает при изменении данных через API, а на мониторинг обычно ставят публичные страницы, которые просто отвечают на GET-запросы.

Частые вопросы

Почему мониторинг показывает 409, а в браузере сайт открывается?

Браузер и мониторинг могут запрашивать разные адреса: вы открываете главную страницу, а проверка направлена на API-метод, который конфликтует при повторных запросах. Второй вариант — конфликт временный: запись была занята в момент проверки, а минутой позже освободилась. Сравните адрес монитора с адресом, который открываете в браузере.

Чем 409 отличается от 400 Bad Request и 422?

400 — сервер не смог разобрать запрос: сломанный синтаксис, некорректные заголовки. 422 — запрос разобран, но данные не проходят проверку. 409 — и запрос, и данные корректны, мешает текущее состояние ресурса: объект уже существует или его версия устарела. После устранения конфликта тот же запрос выполнится успешно.

Нужно ли что-то чинить, если 409 возвращает API?

Для API 409 — штатный ответ: так сервис сообщает клиенту о конфликте версий или дубликате. Чинить нужно не API, а настройку мониторинга: проверяйте адрес, который стабильно отвечает 200 на GET-запрос, — например, отдельную страницу состояния сервиса. Тогда уведомления будут приходить только при реальных сбоях.

См. также