반응형

 

API(Application Programming Interface)

- '소프트웨어가' 소프트웨어로 부터 특정 형식으로 데이터, 서비스에 대한 요청, 명령을 받을 수 있는 수단.

(UI : User Interface 가 사용자가 프로그램의 기능을 사용하기 위한 수단

-> API는 소프트웨어가 소프트웨어의 기능을 사용하기 위한 수단!)

 

 

SOAP API vs RESTful AIP

SOAP(Simple Object Access Protocol)

이름 자체가 나타내듯 객체에 접근하기 위한 프로토콜이다. (여기서 객체는 API로 제공 하는 데이터)

  • 전송 프로토콜로는 HTTP를 주로 사용하지만, 다른 것들도 사용 가능하다. 
  • 특징으로는 XML이라는 데이터 포맷만을 지원한다. XML의 특성상 다양한 플랫폼에 사용될 수 있지만, SOAP 자체가 프로토콜이기 때문에 다양한 표준이 정해져있다.(오버헤드가 발생하고 사용이 복잡하다.)
  • 따라서 일반 고객 서비스 보다는 보안, 규제가 요구되는 어플리케이션에 적합하다.
  • 보안 규정으로는 WS-Security(SOAP 자체 메세지 보안), SSL(Secure Sockets Layer)을 지원한다.

 

<steps>

- 클라이언트가 웹 서비스 요청(SOAP 표준에 맞게 인코딩) →

서버가 요청을 받고 디코딩, 자체 로직을 통해 결과 추출 → 요청자(클라이언트)에게 반환(SOAP 표준에 맞게 인코딩)

 

RESTful API(REST = Representational State Transfer)

REST한 소프트웨어 구조(Architecture), 쉽게는 개발자들을 위한 가이드라인이다. (SOAP와 같은 프로토콜 개념이 아님)

  • 전송 프로토콜은 HTTP이다.
  • RESTful API는 클라이언트-서버의 역할이 아주 확실하게 구분되어 있기 때문에, 동작이 단순하다. (해당 RESTful API 스타일을 사용한다면, 접속 경로가 항상 동일하다)
  • 리소스 요청, 명령 과정에서 각 리소스(API로 제공하려는 데이터)들이 유일한 URI를 가지고 있고, 접근을 위한 요청은 HTTP 요청 메서드 중에 POST, GET, PUT, DELETE (순서대로 CRUD와 대응됨, CREAT, READ, UPDATE, DELETE)를 사용한다. 리소스는 JSON, HTML, XML, 일반 텍스트 등 다양한 데이터 포멧으로 표현 가능하다.
  • RESTful API는 위와 같은 통일된 규정을 따르는 방식이기 때문에 웹서비스의 통일성, 확장성에 용이하다.

 

<steps>

- 클라이언트가 HTTP 메서드 + 리소스URI 를 통해 서버에 조작 요청 → 서버가 응답

 

 

 

 

 

 

 

 

출처

www.redhat.com/ko/topics/integration/whats-the-difference-between-soap-rest

 jy-tblog.tistory.com/24jy-tblog.tistory.com/24

반응형

'IT study > Notebooks' 카테고리의 다른 글

OS - Cache(feat. Page 교체)  (0) 2021.04.08
OS - 세마포어(Semaphore), 뮤텍스(Mutex)  (0) 2021.04.06
Network - HTTPS(대칭키&비대칭키)  (0) 2021.04.05
OS - Process & Thread  (0) 2021.03.31
Network - web 동작의 기본 이해  (0) 2021.03.24

+ Recent posts