Получить доступ

Чем REST отличается от SOAP?

MiddleSpring MVC и RESTSpring
Ещё спрашивают так:
  • Где ещё используют SOAP?
Коротко

REST — архитектурный стиль поверх HTTP: ресурсы, методы, обычно JSON, кэширование, простота. SOAP — протокол обмена XML-сообщениями со строгим контрактом WSDL, стандартами безопасности и транзакций (WS-*).

  • SOAP жив в банках, госсистемах, страховании и интеграциях с крупными legacy-системами
  • Внутри компании между сервисами сейчас чаще REST или gRPC
  • В Java SOAP — Spring Web Services, JAX-WS; генерация клиентов из WSDL

А ещё gRPC — строгий контракт (protobuf) и скорость без тяжести SOAP

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

REST: ресурсы адресуются URL, действия — методами HTTP, формат любой (обычно JSON), используются коды ответа и кэширование HTTP. Контракт — OpenAPI, но не обязателен. Просто вызвать из браузера и curl.

SOAP: конверт XML с заголовком и телом, отправляется обычно через HTTP POST на один адрес; операция определяется содержимым. Контракт — WSDL с XSD-схемами: клиенты генерируются автоматически. Стандарты WS-Security (подпись и шифрование сообщений), WS-ReliableMessaging, WS-AtomicTransaction. Минусы — многословность, сложность, слабая поддержка кэширования.

Где встречается SOAP: банковские и платёжные шлюзы, СМЭВ и госинтеграции, страхование, телеком, SAP и другие enterprise-системы. На собеседовании важно уметь сгенерировать клиент по WSDL (jaxws-maven-plugin, wsimport) и работать с подписью сообщений.

gRPC — современная альтернатива для внутренних вызовов: строгий контракт в protobuf, бинарный формат, HTTP/2, потоковая передача, генерация клиентов.

Что хотят услышать

  • Стиль против протокола, JSON против XML.
  • WSDL, WS-* стандарты.
  • Где SOAP используется сейчас.
  • gRPC как альтернатива.

Частые ошибки

  • Считать SOAP полностью мёртвым — в интеграциях с банками и госсистемами он повсюду.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✓REST — архитектурный стиль над HTTP (ресурсы и глаголы, гибкие форматы); SOAP — строгий XML-протокол с контрактом (WSDL)
  • ✗SOAP легче и без схемы, REST строго типизирован
  • ✗Это одно и то же
  • ✗REST работает только с XML

Что спросят дальше

  • Что делает Spring HATEOAS?
  • Когда SOAP всё ещё оправдан?

Разбор темы

Связанные вопросы

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем