Я подозреваю, что это очень простой вопрос. Я пишу PHP-скрипт для ответа на запрос AJAX. Запрос должен содержать некоторые XML-данные, которые обрабатывает сценарий PHP, а затем возвращает ответ. Есть два случая ошибок, которые я хочу рассмотреть:Выбор правильного кода ответа HTTP для неверных данных POST
- В запросе нет данных POST; или
- некорректные данные в XML (либо не действует, или хорошо сформированным XML, или терпит неудачу некоторые проверки схемы)
В таких случаях я считаю, что я должен быть возврате кода 4xx ответа. Есть ли что-нибудь более подходящее, чем 400?
Подробнее
Чтобы проиллюстрировать эту проблему дальше: Клиентское приложение Javascript является редактором диаграмм для образовательных целей. Пользователь должен создать диаграмму, которая правильно моделирует заданную ситуацию. Затем студент может представить диаграмму, в которой сериализация диаграммы XML отправляется через вызов AJAX на сервер. Сценарий PHP анализирует диаграмму XML и создает XML-отчет, который отправляется как ответ AJAX клиенту. Две ситуации, которые я изначально описал (без данных XML POST или недействительного XML в них), не должны возникать по запросу клиента, но я считаю разумным правильно фиксировать и обрабатывать эти ситуации. Поэтому я считаю, что код ответа 4xx подходит. Структура отчета XML не удовлетворяет этим ситуациям, и пустой отчет будет составлять идеальную диаграмму, которая явно не подходит,
Да, я тоже поеду с 400. Большинство кодов состояния HTTP имеют проблемы, связанные с самим HTTP, а не с содержимым запроса, кроме случаев, когда контент конфликтует с ожиданиями, определенными заголовками HTTP. – SpliFF
Достаточно честно, думаю, я останусь с 400 тогда. Большое спасибо. – beldaz