반응형
RestFul API를 공부하기에 앞서, SOAP 방식과 REST 방식의 차이를 공부하고, 차이점에 대해서 정리하여 남깁니다.
1️⃣ SOAP(Simple Object Access Protocol)
- SOAP(Simple Object Access Protocol)은 일반적으로 널리 알려진 HTTP, HTTPS, SMTP 등을 통해 XML 기반의 메시지를 컴퓨터 네트워크 상에서 교환하는 프로토콜
- 보통의 경우 원격 프로시져 호출(Remote Procedure Call:RPC) 패턴으로, 네트워크 노드(클라이언트)에서 다른 쪽 노드(서버)로 메시지를 요청 하고, 서버는 메시지를 즉시 응답
<장점>
- 플랫폼과 언어에 독립적이다.
- 확장이 용이하다.
<단점>
- 구조가 복잡하고 오버헤드가 심하고 무겁고, 개발이 어렵다.
<SOAP 예시>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<getProductDetails xmlns="http://warehouse.example.com/ws">
<productId>827635</productId>
</getProductDetails>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
2️⃣ REST(REpresentational State Transfer)
- REST는 웹 서비스와 모바일 애플리케이션 경량화의 필요에 맞춘 아키텍처
- HTTP method를 통해 resource를 처리
- request 요청에 대해 HTML, XML, 일반 텍스트, JSON 등 다양한 형태로 응답
<REST의 구성요소>
1. 자원(Resource), URL
모든 자원은 고유한 ID를 가지며 ID는 서버에 존재하고 클라이언트는 각 자원의 상태를 조작하기 위해 요청을 보낸다. HTTP에서 이러한 자원을 구별하는 ID는 student/1 과 같은 HTTP URL이다.
2. 행위(Verb), Method
클라이언트는 URL을 이용해 자원을 지정하고 자원을 조작하기 위해 Method를 사용한다. HTTP 프로토콜에서는 GET, POST, DELETE 같은 Method를 제공한다.
3. 표현(Representation)
클라이언트가 서버로 요청을 보냈을 때 응답 자원의 상태를 Representation이라고 한다. REST에서 하나의 자원은 JSON, XML, RSS등 여러 형태의 Representaion으로 나타낼 수 있다.
* 전달되는 데이터가 많을 경우 상대적으로 JSON을 사용하는 REST 방식이 유리(SOAP은 XML만 의존하기 때문에 많은 데이터를 처리할 경우 속도면에서 불리하다)
✅ 참고자료
- 위키백과 SOAP.
- red hat - REST와 SOAP 비교
- IDEA TEC - SOAP API VS REST API 비교 분석 및 차이점
- ellyheetov.devlog - REST API란, HTTP Method
반응형
'개발자, 탐구생활 > 개발자, 코딩' 카테고리의 다른 글
[js] 깔끔하고 사용하기 쉬운 알림 sweetalert2.js (0) | 2023.07.12 |
---|---|
hosts.txt 파일에 관해 (0) | 2023.06.26 |
[mysql]우분투 mysql 설치하기 + 삽질 (0) | 2022.01.30 |
[js]Sheet.js를 사용한 클라이언트에서 excel download 예제! (0) | 2022.01.13 |
[php]Codeigniter 4 Layout 사용하기 - 메뉴바, 푸터 공통 사용 (0) | 2022.01.07 |