Gymterview
junior

В чём отличия REST от SOAP?

REST — архитектурный стиль, работающий преимущественно через HTTP с любым форматом данных. SOAP — строгий протокол, использующий исключительно XML и поддерживающий множество транспортов.

Характеристика REST SOAP
Тип Архитектурный стиль Протокол
Формат данных JSON, XML, HTML, текст и др. Только XML
Транспорт Преимущественно HTTP HTTP, SMTP, TCP, JMS и др.
Стандарт описания OpenAPI/Swagger (опционально) WSDL (обязательно)
Состояние Stateless Может быть stateful
Кэширование Встроенная поддержка HTTP-кэширования Нет нативной поддержки
Производительность Выше (меньше overhead) Ниже (XML-парсинг, SOAP-конверт)
Безопасность HTTPS, OAuth, JWT WS-Security (более мощная)
Транзакции Нет встроенной поддержки WS-AtomicTransaction
Надёжность Нет встроенной поддержки WS-ReliableMessaging
Стиль вызовов Ориентирован на ресурсы Ориентирован на операции (RPC)

Когда использовать REST

  • Публичные API (простота интеграции).
  • Мобильные приложения (экономия трафика).
  • Микросервисные архитектуры.
  • Когда важна скорость разработки и простота.

Когда использовать SOAP

  • Корпоративные системы с формальными контрактами.
  • Когда нужна строгая типизация.
  • Когда нужны продвинутые стандарты безопасности (WS-Security).
  • Когда нужны распределённые транзакции (WS-AtomicTransaction).
  • Финансовые и банковские системы.

На собеседовании: достаточно назвать 5-6 ключевых различий из таблицы и привести примеры, когда подходит REST, а когда SOAP. Частая ошибка — говорить, что SOAP устарел. SOAP по-прежнему широко используется в банковских и корпоративных системах.