Какой протокол используется для обмена данными в REST API?

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

Ответ

REST API использует протокол HTTP (Hypertext Transfer Protocol) для взаимодействия между клиентом и сервером. REST опирается на стандартные методы, коды состояния и заголовки HTTP.

Основные HTTP-методы в REST: Метод Описание Идемпотентность Безопасность
GET Получение ресурса Да Да
POST Создание ресурса Нет Нет
PUT Полное обновление ресурса Да Нет
PATCH Частичное обновление Нет Нет
DELETE Удаление ресурса Да Нет

Пример запроса и ответа:

GET /api/users/123 HTTP/1.1
Host: api.example.com
Accept: application/json
Authorization: Bearer token123
{
  "id": 123,
  "name": "Иван Петров",
  "email": "ivan@example.com"
}

HTTP-коды состояния в REST:

  • 200 OK — успешный запрос.
  • 201 Created — ресурс создан.
  • 400 Bad Request — ошибка в запросе.
  • 404 Not Found — ресурс не найден.
  • 500 Internal Server Error — ошибка сервера.

Почему именно HTTP?

  • Стандартизация: широко поддерживается всеми платформами.
  • Статус-коды: четкая семантика результатов операций.
  • Кэширование: встроенная поддержка через заголовки (Cache-Control, ETag).
  • Безопасность: поддержка HTTPS, аутентификации (OAuth, JWT).