FrameWork/Spring Boot

[Spring Boot] SOAP API & REST API

JiWonSon 2021. 1. 23. 01:52

* API란?

데이터를 요청하고 응답하기 위한 인터페이스

 

* SOAP API란?

 Simple Object Access Protocol(http,https) 

그 자체로 프로토콜이며 보안이나 메세지 전송에 있어 REST보다 많은 표준들이 정해져있기 때문에 조금 복잡합니다.

따라서 SOAP을 대안으로 나온 것이 RESTful 기반입니다.

 

> 기본구조

  • SOAP-ENV:Envelope
  • SOAP-ENV:Header
  • SOAP-ENV:Body

위와 같은 구조로 XML문서로 표현되는데 복잡한 구성으로 인해 HTTP 상에서 전달되기 무겁고, 메세지 인코딩/디코딩 과정 등 웹서비스 개발의 난이도가 높아 개발 환경의 지원이 필요하다고 합니다.

* REST API란?

REST API는 네트워크를 통해서 컴퓨터들끼리 통신할 수 있게 해주는 아키텍쳐 스타일입니다.

REST API는 인터넷 식별자(URL)와 HTTP 프로토콜을 기반으로 합니다. REST는 HTTP 프로토콜 덕분에 '단순함'이 핵심이라고 할 수 있습니다. 데이터 포맷으로는 브라우저 간 호환성이 높은 제이슨(JSON)을 사용합니다.

 

> 장점

  • 웹에 최적화 되어있고, 데이터 포맷이 JSON이기 때문에 브라우저 간에 호환성이 좋음
  • 성능과 확장성이 뛰어남

> 단점

  • HTTP메소드를 이용하기 때문에 편하기도 하지만 HTTP로 인해 메소드가 한정적이다.
  • RESTful API로는 다양한 기종에서 필요한 정보를 일일이 구현하는 것이 힘들다. 따라서 GraphQL 같은 언어가 생겨난 것!

 

* SOAP VS REST

[출처 : 아래 주소 참고]

* 결론

 웹 서비스에서는 REST방식의 API를, 기업용 애플리케이션 같이 보안이 엄격하게 필요한 경우 다양한 요구사항 만족을 위해 SOAP API를 선택하는 경우가 많다.

 

 

 

<참고자료>

www.inflearn.com/course/spring-boot-restful-web-services/lecture/39082?tab=curriculum

 

Spring Boot를 이용한 RESTful Web Services 개발 - 인프런

이 강의는 Spring Boot를 이용해서 RESTful Web Services 애플리케이션을 개발하는 과정에 대해 학습하는 강의으로써, REST API 설계에 필요한 기본 지식에 대해 학습할 수 있습니다. 초급 웹 개발 프레임워

www.inflearn.com

blog.wishket.com/soap-api-vs-rest-api-%EB%91%90-%EB%B0%A9%EC%8B%9D%EC%9D%98-%EA%B0%80%EC%9E%A5-%ED%81%B0-%EC%B0%A8%EC%9D%B4%EC%A0%90%EC%9D%80/

'FrameWork > Spring Boot' 카테고리의 다른 글

[Spring Boot] JPA Entity  (0) 2022.08.04
[Spring Boot]JPA의 기본 개념  (2) 2021.01.18
[Spring Boot] Spring과 Spring Boot 차이  (0) 2020.12.11