СправошнаяПоиск

Ответы и статусы HTTP для авторизации

Коды состояния HTTP, используемые этим API, были реализованы с использованием стандартов, предоставленных в спецификации HTTP 1.1 RFC2616.

Обновление поста по ошибкам для общих случаев

200 – ОК [GET, PUT и DELETE]

  • Тело объекта — ресурс
  • Пример — [GET] People/1

201 — Ресурс создан [POST]

  • Заголовок ответа — Location будет содержать канонический URI
  • Тело объекта — новый ресурс
  • Пример — [POST] Люди

204 – Нет контента [POST, DELETE]

  • Заголовок ответа — ответное сообщение будет содержать канонический URI ресурса, который был удален, или в случае создания учетной записи будет пустым.
  • Тело объекта — будет пустым
  • Пример — [DELETE] /People/1636208/Attributes/29717636

301 — переехал навсегда

  • Заголовок ответа — Location будет содержать новый постоянный канонический URI.
  • Тело объекта — будет пустым
  • Пример — [GET] People/1 был объединен и больше не существует. Новый URI — People/1.

400 — Неверный запрос: ошибка на стороне клиента.

  • Заголовок ответа — без изменений
  • Тело объекта — отправить обратно сообщение о том, почему запрос был плохим
  • Пример — искаженный XML не может сериализоваться на сервере

401 — Неавторизованный

  • Заголовок ответа — WWW-Authenticate: OAuth и запрос или требуемый параметр
  • Тело объекта — опционально документ с описанием сбоя.
  • Пример: отсутствуют учетные данные OAuth

403 — Запрещено — Ошибка авторизации

  • Заголовок ответа — без изменений
  • Тело объекта — объяснение, почему авторизация не удалась
  • Примеры:
    • Учетные данные OAuth верны, однако токен, использованный для запроса, недействителен или пользователь, связанный с токеном, не имеет прав на ресурс.
    • Потребитель использует сторонний ключ и секрет и пытается запросить токены доступа, используя учетные данные пользователя.
    • Когда приложение-потребитель может принимать запросы на токены только от исходного поставщика или ключ потребителя для этого приложения либо помечен как закрытый, либо недоступен для арендатора.

404 — Не найдено: когда клиент запрашивает URI, который не соответствует ресурсу на сервере.

  • Заголовок ответа — без изменений
  • Тело объекта — будет пустым
  • Пример — [GET] People/1 не существует, при желании можно использовать 410 (см. ниже)

405 — Метод не разрешен

  • Заголовок ответа — Разрешить: GET, POST — список методов HTTP, которые поддерживает ресурс.
  • Тело объекта — будет пустым
  • Пример — [POST] People/1/Status ← попытка создать статус, когда доступен только GET

406 — не приемлемо

  • Заголовок ответа — объяснение того, что сделало запрос неприемлемым.
  • Тело объекта — будет пустым
  • Пример — установка заголовка Accept-Encoding неизвестного типа

409 – Конфликт: клиент пытался перевести ресурс сервера в невозможное или несовместимое состояние.

  • Заголовок ответа — объяснение проблемы с кодом состояния
  • Тело объекта — будет пустым
  • Пример. Попытка добавить основной адрес к ресурсу, у которого уже есть основной адрес, или PUT People/1, изменяющие учетные данные «веб-ссылки» для People/1, которые уже используются People/2.

410 — Исчез: сервер знал, что раньше был ресурс, но теперь его нет

  • Заголовок ответа — HTTP/1.1 410 Объект ИСКЛЮЧЕН, поскольку он был удален. Клиенты с возможностью редактирования ссылок ДОЛЖНЫ удалять ссылки на Request—URI.
  • Тело объекта — будет пустым
  • Пример — [DELETE] People/1/Addresses/1, затем GET People/1/Addresses/1

415 — Неподдерживаемый тип носителя

  • Заголовок ответа — подробный код поддерживаемых типов мультимедиа для данного ресурса.
  • Тело объекта — будет пустым
  • Пример. Ресурс поддерживает только XML и JSON, но клиент отправляет application/atom+xm

500 — внутренняя ошибка сервера

  • Заголовок ответа — без изменений
  • Тело объекта — будет пустым
  • Пример. Сервер столкнулся с непредвиденной ситуацией, из-за которой он не смог выполнить запрос.