[TIL] REST vs SOAP

박은정·2022년 2월 17일
0

TIL

목록 보기
42/72
post-thumbnail

웹 애플리케이션 간 데이터 통신을 허용하는 애플리케이션 프로그래밍 인터페이스를 구축하는 방법으로 두 가지 방법이 있습니다. 주요한 차이점으로는 SOAP는 프로토콜이지만, REST는 프로토콜이 이나라는 점입니다.
일반적으로 API는 상황이나 개발자의 선호에 따라 선택하여 사용합니다.

REST (Representational State Transfer)

웹서비스와 모바일 애플리케이션 경량화의 필요에 맞춘 아키텍쳐 원칙 세트입니다.
가이드라인이기 때문에 권장사항의 구현여부는 개발자의 선택에 달려있습니다.

아래의 이유로 RESTful API는 보다 유연하고 설정하기 쉽습니다.

  • 데이터 요청이 REST API로 전송될 때는 일반적으로 하이퍼텍스트 전송 프로토콜 HTTP 을 통해 이루어집니다.
  • 이러한 요청을 수신하면 REST용으로 설계된 API (RESTful API | RESTful 웹서비스)가 HTML, XML, 일반텍스트, JSON와 같은 다양한 형식으로 메시지를 반환할 수 있습니다.
  • JSON(JavaScript Object Notation) 은 이름과는 달리 어떠한 프로그래밍 언어로든 읽을 수 있고, 인간과 기계가 모두 읽을 수 있으며, 경량화 되어있기 때문에 선호하는 메시지 형식이라 많이 사용됩니다.

SOAP (Simple Object Access Protocol)

다른 언어로 다른 플랫폼에서 빌드된 애플리케이션이 통신할 수 있도록 설계된 최초의 표준 프로토콜입니다.
World Wide Web Consortium(W3C)에서 유지관리하는 공식 프로토콜입니다.

프로토콜이기 때문에 복잡성과 오버헤드를 증가시키는 빌트인 룰을 적용하므로, 페이지 로드 시간이 길어질 수 있습니다. 그러나 이러한 표준은 컴플라이언스를 제공한다는 의미이므로, 기업에서 선호하는 방식이기도 합니다.

데이터에 대한 요청이 SOAP API로 전송되는 경우, HTTP(웹 브라우저), SMTP(이메일), TCP 등의 다양한 애플리케이션 레이어 프로토콜을 통해 처리될 수 있습니다. 그러나 요청이 수신되면 인간과 기계가 모두 읽을 수 있는 마크업 언어인 XML 문서형식으로, 반환 SOAP 메시지가 반환됩니다.
SOAP API에 대한 완료된 요청은 브라우저에서 캐시할 수 없기 때문에 API로 재전송하지 않는 한 이후에 접근할 수 없습니다.

SOAP vs REST

RESR API는 경량화 되어있기 때문에 IoT(사물 인터넷), 모바일 애플리케이션 개발, 서버리스 컴퓨팅같은 보다 새로운 컨텍스트에 적합합니다.
SOAP 웹 서비스는 많은 기업에서 필요로 하는 기본 보안과 트랜잭션 컴플라이언스를 제공하지만, 이로 인해 좀 무거운 경향이 있습니다. 또한 Google Maps API와 같은 대부분의 Public API는 REST 가이드라인을 따르는 경향이 있습니다.

profile
새로운 것을 도전하고 노력한다

0개의 댓글