REST와 SOAP를 비교할 수 없습니다. REST는 아키텍처 스타일이지만 SOAP은 프로토콜입니다.
불행하게도, REST는 구어체가 RESTful HTTP 서비스와 동의어가되었으며 이는 HTTP (애플리케이션) 프로토콜을 사용하여 REST 스타일 아키텍처를 실현한다는 의미입니다.
REST는 다음과 같은 원칙 (제약 및 요소)을 기반으로합니다 (RESTful HTTP에서의 구현을 괄호로 묶음) [1] .
- 상태 비 저장 (HTTP는 상태 비 저장 프로토콜)
- 자원 (URI로 식별)
- 균일 한 인터페이스 (HTTP 메소드)
- 표현 (MIME-TYPE)
- HATEOS (하이퍼 링크)
- 캐시 (HTTP 캐시)
다른 한편으로 많은 사람들은 W3C 웹 서비스 아키텍처의 일부인 SOAP를 WSDL과 SOAP 기반 웹 서비스라고 말하고있다 [2] .
- SOAP는 정보를 교환하기위한 프로토콜 (기본적으로 메소드 이름, 매개 변수, 리턴 값, 데이터 유형 등)로 사용됩니다.
- WSDL은 웹 서비스를 설명하는 인터페이스 정의 언어입니다.
SOAP *의 현재의 중요성은 무엇입니까?
SOAP는 W3C 표준이며 W3C 웹 서비스에서 정보 교환 형식으로 사용됩니다. 이러한 웹 서비스는 특히 2008 년 (+ -3 년) SOA (서비스 지향 아키텍처)의 과대 광고였으며 (아쉽게도) 여전히 엔터프라이즈 응용 프로그램에서 구현되었습니다.
몇 가지 이유가 있습니다. 그 당시 RESTful HTTP는 잘 알려져 있지 않았으며 오해되었습니다. 불행히도 여전히 다른 답변을 살펴보면 오해가됩니다.
"[...] REST는 SOAP [...]보다 훨씬 제한적입니다."
“RES의 주요 목적은 인터넷에서 리소스를 나타내는 것입니다.
또한 SOAP (및 WSDL)는 W3C 웹 서비스 프로토콜 스택의 일부로 웹 서비스 구현을위한 더 많은 표준을 제공합니다.
사람들이 여전히 새로운 SOAP 기반 API를 개발하고 있습니까, 아니면 지금은 대부분 레거시입니까?
그렇습니다. SOAP를 사용하는 시스템이 여전히 있으며 앞으로도 엔터프라이즈 시스템에서는 대부분 뒤에 있습니다. 그러나 대다수는 요즘 일종의 "REST"를 시도하고있다.
SOAP와 REST의 차이점에 대해 내가 틀렸다면 누군가 나를 수정 해 줄 수 있습니까?
REST가 데이터 전송을위한보다 유연한 상태 비 저장 아키텍처 라고 말하는 것은 좋은 설명이 아닙니다. 간단히 말해 REST는 특정 제약 조건 및 요소가 포함 된 아키텍처 스타일입니다. SOAP는 정보 교환 프로토콜입니다.
내가 이미 쓴 것처럼 당신은 그들을 비교할 수 없습니다. 그러나 RESTful HTTP 웹 서비스를 SOAP / WSDL 웹 서비스와 비교할 수 있습니다.