개요
- REST와 SOAP는 각기 다른 두 가지의 온라인 데이터 전송 방식임
- REST와 SOAP 모두 웹 애플리케이션 간 데이터 통신을 허용하는 API(Application Programming Interface) 구축방법을 정의함
- REST는 아키텍처 원칙 세트, SOAP는 *W3C에서 유지관리하는 공식 프로토콜임
*W3C(World Wide Web Consortium) : 월드 와이드 웹을 위한 표준 및 가이드라인을 개발하고 장려하는 조직, 팀 버너스 리를 중심으로 1994년 10월에 설립되었다.
REST
- 웹 서비스와 모바일 애플리케이션 경량화의 필요에 맞춘 아키텍처 원칙 세트
- 가이드라인이 필수적인 것은 아니므로 같은 내용이라도 개발자마다 구현 형태가 다를 수 있음
- 일반적으로 JSON(JavaScript Object Notation) 형태를 사용함
https://mightyotter.tistory.com/16
SOAP
- 다른 언어로 다른 플랫폼에서 빌드된 애플리케이션이 통신할 수 있도록 설계된 최초의 표준 프로토콜
- 프로토콜이기 때문에 복잡성과 오버헤드를 증가시키는 빌트인 룰을 적용함
- 오버헤드 증가로 페이지 로드 시간이 길어질 수 있음
- 보안과 안정적인 데이터베이스 트랜잭션의 기본 속성인 원자성, 일관성, 격리성, 내구성(Atomicity, Consistency, Isolation and Durability, ACID)을 제공함
SOAP API vs REST API
- SOAP는 프로토콜이고, REST는 아키텍처 스타일이며 *페이로드를 처리하는 방식에 차이가 있음
- SOAP는 서비스 인터페이스를 이용해서 서버에 접근하며, REST는 URI를 이용해서 접근함
- SOAP는 XML에만 의존하나ㅡ REST는 HTTP와 JSON을 사용하기 때문에 페이로드 경량화가 가능함
*페이로드(Payload) : 인터넷을 통해 전송되는 데이터
차이점 | REST | SOAP |
유형 | 아키텍처 원칙 세트 | W3C 공식 프로토콜 |
기능 | 데이터를 위해 리소스에 접근 | 구조화된 정보 제공 |
데이터 포맷 | 일반텍스트, XML, JSON 등 | XML |
보안 | SSL, HTTPS 지원 | WS-Security, SSL 지원 |
캐시 사용 가능 | O | X |
페이로드 처리 | 미리 알릴 필요 없음 | 엄격한 통신 규약 |
참조
https://ideatec.co.kr/APIGateway_view/?idx=6617531&bmode=view
https://ko.wikipedia.org/wiki/W3C
https://www.redhat.com/ko/topics/integration/whats-the-difference-between-soap-rest
'Programming' 카테고리의 다른 글
[Back-End] REST, REST API, RESTful API 란? (1) | 2021.12.15 |
---|---|
[Ethereum] 210726 학습일지 (0) | 2021.07.26 |
[Vue.js] 210706 학습일지 (0) | 2021.07.06 |
[JS] 210629 학습일지 (0) | 2021.06.29 |
[HTML, CSS, JS] 210623 학습일지 (0) | 2021.06.23 |
댓글