Что означает HTTP-статус 200?

«Что означает HTTP-статус 200?» — вопрос из категории HTTP и веб-протоколы, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

HTTP-статус 200 OK — это код состояния, означающий, что запрос клиента был успешно обработан сервером. Это стандартный ответ для успешных операций GET, PUT, PATCH и часто для POST (хотя для POST более семантически верен статус 201 Created).

Что он гарантирует и что нет:

  • Гарантирует: Сервер получил, понял и выполнил запрос.
  • Не гарантирует: Семантическую корректность или бизнес-логическую правильность возвращенных данных.

Пример успешного ответа на GET-запрос:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Mon, 01 Jan 2024 12:00:00 GMT

{
  "id": 42,
  "status": "active",
  "name": "Test User"
}

При тестировании API:

  1. Проверяйте, что запрос возвращает статус 200 при ожидаемом успешном сценарии.
  2. Всегда валидируйте тело ответа. Статус 200 может прийти с пустым телом или некорректными данными.
    // Пример проверки в тесте
    expect(response.status).toBe(200);
    expect(response.body).toHaveProperty('id');
    expect(response.body.name).toBe('Test User');

Статус 200 относится к классу кодов 2xx (Success), который сигнализирует об успешном выполнении запроса клиента.