В чем разница между 200 и 201 статус-кодом

«В чем разница между 200 и 201 статус-кодом» — вопрос из категории API и интеграции, который задают на 27% собеседований Системный Аналитик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

200 OK и 201 Created — оба коды успешного выполнения, но с разной семантикой:

  • 200 OK — общий успешный статус, означает, что запрос обработан корректно, но без указания конкретного действия. Подходит для GET, PUT, POST (если не создан новый ресурс).
    HTTP/1.1 200 OK
    {"message": "Данные успешно обновлены"}
  • 201 Created — указывает, что запрос (обычно POST или PUT) привел к созданию нового ресурса. В ответе должен быть заголовок Location с URI нового объекта.
    HTTP/1.1 201 Created
    Location: /api/users/123

Ключевое отличие: 201 явно указывает на создание ресурса, 200 — просто подтверждает успех.