World Wide Web
이라는 것을 거쳐 통신하는 것원격 서버에 저장된 애플리케이션 프로그램으로 브라우저 인터페이스를 통해 인터넷에서 제공된다. 웹메일, 커머스, 금융 서비스 등이 있다.
클라이언트 -> 웹 서버 -> 웹 애플리케이션 -> 데이터베이스
와 같은 순으로 데이터가 전달된다.
Simple Object Access Protocol로 주로 XML로 요청을 하고 XML을 응답으로 받는 방식이다.
SOAP(Simple Object Access Protocol)은 일반적으로 널리 알려진 HTTP, HTTPS, SMTP 등을 통해 XML 기반의 메시지를 컴퓨터 네트워크 상에서 교환하는 프로토콜이다. SOAP은 웹 서비스에서 기본적인 메시지를 전달하는 기반이 된다. SOAP에는 몇가지 형태의 메시지 패턴이 있지만, 보통의 경우 원격 프로시져 호출(Remote Procedure Call:RPC) 패턴으로, 네트워크 노드(클라이언트)에서 다른 쪽 노드(서버)로 메시지를 요청 하고, 서버는 메시지를 즉시 응답하게 된다. SOAP는 XML-RPC와 WDDX에서 envelope/header/body로 이루어진 구조와 전송(transport)과 상호 중립성(interaction neutrality)의 개념을 가져왔다.
SOAP은 XML을 근간으로 헤더와 바디를 조합하는 디자인 패턴으로 설계되어 있다. 「헤더」는 선택사항으로 반복이나 보안 및 트랜잭션을 정보로 하는 메타 정보를 가지고 있다. 「바디」부분은 주요한 정보인 정보를 가지고 있다.
from wikipedia
JSON과 비교해서는 상당히 번잡하다. 반드시 Envelope > Header, Body
와 같은구조로 되어 있어야 한다. 오버헤드가 심하고 개발하기가 어렵고 무겁다.
HTTP는 특정 메소드
GET
,PUT
,POST
,DELETE
등의 메소드를 보내고, HTTP Status Code를 받는다.
최근엔 SOAP을 선호하는 곳은 거의 없다.