SOAP WS는 원격 프로 시저 호출 (예 : RPC) 및 메시지 지향 미들웨어 (MOM) 통합 스타일을 모두 지원합니다. Restful 웹 서비스는 RPC 통합 스타일 만 지원합니다.
SOAP WS는 전송 프로토콜 중립적입니다. HTTP (S), 메시징, TCP, UDP SMTP 등과 같은 여러 프로토콜을 지원합니다. REST는 전송 프로토콜에 따라 다릅니다. HTTP 또는 HTTPS 프로토콜 만 지원합니다.
SOAP WS는 XML 데이터 형식 만 허용합니다. POST를 통해 터널링하는 작업을 정의합니다. 초점은 명명 된 작업에 액세스하고 응용 프로그램 논리를 서비스로 노출하는 것입니다. REST는 XML, JSON 데이터, 텍스트, HTML 등과 같은 여러 데이터 형식을 허용합니다. REST 접근 방식은 표준 GET, PUT, POST 및 DELETE 웹 작업을 사용하기 때문에 모든 브라우저를 사용할 수 있습니다. 초점은 명명 된 리소스에 액세스하고 데이터를 서비스로 노출하는 것입니다. REST는 AJAX를 지원합니다. XMLHttpRequest 객체를 사용할 수 있습니다. 상태 비 저장 CRUD (만들기, 읽기, 업데이트 및 삭제) 작업에 적합합니다. GET-represent () POST-acceptRepresention () PUT-storeRepresention () DELETE-removeRepresention ()
SOAP 기반 읽기는 캐시 할 수 없습니다. REST 기반 읽기를 캐시 할 수 있습니다. 더 나은 성능과 확장 성. SOAP WS는 SSL 보안과 WS- 보안을 모두 지원합니다.이 기능은 필요한 지점까지 보안을 유지하고, 지점 간 SSL만이 아닌 중개자를 통해 ID를 유지하고, 메시지의 다른 부분을 다른 보안 알고리즘 등이 있습니다. REST는 지점 간 SSL 보안 만 지원합니다. SSL은 모든 메시지가 민감한 지 여부에 관계없이 전체 메시지를 암호화합니다. SOAP는 단기 트랜잭션에 대한 ACID 기반 트랜잭션 관리와 장기 실행 트랜잭션에 대한 보상 기반 트랜잭션 관리를 모두 포괄적으로 지원합니다. 또한 분산 된 리소스에 대한 2 단계 커밋을 지원합니다. REST는 트랜잭션을 지원합니다.
SOAP에는 성공 또는 재시도 논리가 내장되어 있으며 SOAP 중개자를 통해서도 종단 간 안정성을 제공합니다. REST에는 표준 메시징 시스템이 없으며 서비스를 호출하는 클라이언트가 다시 시도하여 통신 실패를 처리 할 것으로 예상합니다.
출처 http://java-success.blogspot.in/2012/02/java-web-services-interview-questions.html