REST는 자연스럽게 Web/Cloud API에 적합하고 SOAP은 분산 컴퓨팅 시나리오에 적합합니다.
웹 API를 잘 수행하는 데 매우 중요한 트래버스 할 복잡한 문서 (예 : XML, SOAP 헤더)가 없기 때문에 대역폭이 REST의 주요 이점입니다. JSON은 데이터 교환을 위해 널리 인정되고 단순한 표준이며, 브라우저와 클라이언트 코드에서 쉽게 읽을 수 있습니다. 이것이 대부분의 RESTful API (Yahoo가 좋은 예입니다)가 JSON을 제공하는 이유입니다.
REST는 XmlHttpRequest 객체에서 사용할 수 있지만, 다시 말해서 Web API의 AJAX 기능에 결정적인 역할을합니다.
물론 REST의 캐시 가능성 기능은 무시할 수 없습니다.REST는 HTTP를 기반으로하기 때문에 HTTP 패킷의 헤더 (만료)를 활용하여 브라우저에서 캐싱을 사용함으로써 HTTP (및 웹 자체)의 많은 의미를 이용할 수 있습니다. 효율성을 높이기 위해 gzip 압축과 같은 것은 말할 것도 없습니다. 성능 측면에서 볼 때, REST는 실제로 SOAP보다 뛰어나다.
SOAP의 경우 SOAP은 상태 저장 작업을 처리합니다. WS * 표준 (보안, 트랜잭션 등)은 분산 된 시나리오에서 상당히 일반적인 배관 구조를 처리합니다. 그것은 REST로 할 수 있지만 확실히 REST가 아닙니다. SOAP은 클라이언트와 서버 간의 운영 계약을 정의하는 데 실제로 유용합니다. 이는 분산 시나리오에서 매우 중요합니다.
내 생각에 (그리고 전체 SOAP 대 REST는 매우 유망하다.) 분산 컴퓨팅 시나리오에 SOAP를 사용하고 웹 API에 REST를 사용한다.
가능한 복제본 : http://stackoverflow.com/questions/76595/soap-or-rest – michid
의견이 있으십니까? 당신은 4 개의 아주 좋은 해답을 가지고 있습니다. – RPM1984
@ RPM1984 : 그렇습니다. 다른 서비스에 대한 별개의 URL을 가지고 있으므로 매우 느슨하게 연결되어 있고 URL 구조 (www.somesite.com?query=something을 갖는 SOAP와는 다른 디렉토리)) 검색 엔진 친화적 인. :) – Anand