Выбор правильного кода ответа HTTP для неверных данных POST

Я подозреваю, что это очень тривиальный вопрос. Я пишу сценарий PHP для ответа на запрос AJAX. Запрос должен включать некоторые данные XML, которые сценарий PHP обрабатывает, а затем возвращает ответ. Я хочу рассмотреть два случая ошибок:

  1. Нет данных POST в запросе; или
  2. Неверные данные в XML (либо недействительный, либо правильно сформированный XML, либо не прошел некоторые проверки схемы)

В таких случаях я считаю, что должен возвращать код ответа 4xx. Есть ли что-нибудь более подходящее, чем 400 ?

Подробнее

Чтобы проиллюстрировать проблему дальше: клиентское приложение Javascript представляет собой редактор диаграмм для образовательных целей. От пользователя требуется создать диаграмму, которая правильно моделирует данную ситуацию. Затем учащийся может отправить диаграмму, посредством чего XML-сериализация диаграммы отправляется POST через вызов AJAX на сервер. Сценарий PHP анализирует XML диаграммы и создает отчет XML, который отправляется клиенту в качестве ответа AJAX. Две ситуации, которые я описал изначально (отсутствие данных XML POST или недопустимый XML в них), не должны происходить по запросу клиента, но я считаю разумным правильно фиксировать и обрабатывать эти ситуации. Следовательно, я считаю, что код ответа 4xx уместен.Структура отчета XML не подходит для таких ситуаций, и пустой отчет будет представлять собой идеальную диаграмму, что явно не подходит,

5
задан beldaz 21 February 2012 в 01:38
поделиться