На каких протоколах основан REST?

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

Ответ

REST (Representational State Transfer) — это архитектурный стиль, который использует протокол HTTP/HTTPS как транспорт.

Ключевые аспекты использования HTTP в REST:

  1. HTTP-методы (глаголы) для операций с ресурсами:
    • GET — получение ресурса.
    • POST — создание ресурса.
    • PUT — полное обновление ресурса.
    • PATCH — частичное обновление ресурса.
    • DELETE — удаление ресурса.
  2. Коды состояния HTTP для информирования о результате:
    • 200 OK — успех.
    • 201 Created — ресурс создан.
    • 400 Bad Request — ошибка клиента.
    • 404 Not Found — ресурс не найден.
    • 500 Internal Server Error — ошибка сервера.
  3. Заголовки HTTP (Headers) для метаданных, например, Content-Type: application/json.
  4. URI (Uniform Resource Identifier) для уникальной идентификации каждого ресурса.

Пример RESTful HTTP-запроса:

GET /api/users/123 HTTP/1.1
Host: api.example.com
Accept: application/json
Authorization: Bearer <token>

Данные между клиентом и сервером обычно передаются в форматах JSON или XML.