PassFront
  1. PassFront
  2. База знаний
  3. DOM и браузер

В чем разница между REST, SOAP и GraphQL?

DOM и браузер

REST, SOAP и GraphQL — три подхода к построению API. REST — ресурсы и HTTP-методы, SOAP — строгий XML-протокол, GraphQL — гибкие запросы по схеме.

REST

  • Архитектурный стиль: ресурсы по URL, действия — HTTP-методами (GET/POST/...).
  • Формат обычно JSON, stateless, кешируется по URL.
  • Плюсы: простота, повсеместность, кеширование.
  • Минусы: over/under-fetching, много эндпоинтов.

SOAP

  • Строгий протокол на XML с описанием контракта (WSDL).
  • Работает поверх разных транспортов, встроенные стандарты безопасности (WS-Security), транзакции.
  • Плюсы: строгий контракт, надёжность, корпоративные стандарты.
  • Минусы: многословный XML, тяжеловесность, сложность.
  • Применение: банки, энтерпрайз, legacy.

GraphQL

  • Язык запросов: клиент запрашивает точно нужные поля одним запросом по строгой схеме.
  • Один эндпоинт (обычно POST).
  • Плюсы: нет over/under-fetching, типизация, гибкость.
  • Минусы: сложность сервера, кеширование, риск тяжёлых запросов.

Как выбирать

  • Простой публичный CRUD, кеширование → REST.
  • Энтерпрайз, строгие контракты, безопасность → SOAP.
  • Сложные связанные данные, много клиентов с разными нуждами → GraphQL.

Коротко для собеседования

REST — ресурсы + HTTP-методы, JSON, простой и кешируемый, но с over/under-fetching. SOAP — строгий XML-протокол с WSDL и WS-Security, для энтерпрайза, но тяжеловесный. GraphQL — гибкая выборка по схеме одним запросом ценой серверной сложности.

Другие вопросы раздела