Что такое REST API, SOAP? В чем разница?

REST API

  • Архитектурный стиль для построения веб-сервисов.

  • Использует HTTP(S) как транспорт.

  • Операции над ресурсами выполняются через стандартные методы:

    • GET — получение данных

    • POST — создание

    • PUT/PATCH — обновление

    • DELETE — удаление

  • Данные обычно передаются в формате JSON (иногда XML, YAML).

  • Легкий, быстрый, кэшируемый, легко тестируется.


SOAP (Simple Object Access Protocol)

  • Протокол обмена структурированными сообщениями.

  • Основан на XML.

  • Работает поверх разных транспортов (HTTP, SMTP, TCP и др.).

  • Сообщение имеет жестко заданную структуру (envelope, header, body).

  • Поддерживает встроенные механизмы безопасности (WS-Security), транзакции.

  • Более тяжелый по сравнению с REST, требует строгих схем (WSDL).

Для QA важно

  • Проверять структуру SOAP-сообщений (валидный XML).

  • Тестировать работу WSDL (описание API).

  • Проверять корректность обработки ошибок (Fault).

  • Сравнивать производительность с REST.


Основные различия

Критерий
REST API
SOAP

Тип

Архитектурный стиль

Протокол

Формат данных

JSON (чаще всего), XML

XML

Транспорт

HTTP/HTTPS

HTTP, SMTP, TCP и др.

Простота

Легкий и гибкий

Тяжеловесный, строгий

Стандартизация

Нет жесткой спецификации

Строгий стандарт (WSDL)

Безопасность

Использует TLS, OAuth, JWT

WS-Security встроен

Где применяется

Веб-сервисы, мобильные приложения

Банки, финсектор, legacy-системы

Last updated

Was this helpful?