본문 바로가기
좋은 개발자가 되기위한 방법들

API란 개념,종류(REST API, SOAP API),역사 쉽게정리

by chief_sac 2021. 7. 9.
반응형

API란 개념,종류

 

오늘은 API 란 무엇일까 라는 주제로 글을 한번 써볼까 합니다.

저의 시선으로 공부한 것을 정리한 글이라 지적과 코멘트는 너무 감사하겠습니다.

 

API란 무엇일까?


 

💡
우선 API란 Application Programming Interfac의 약자로 응용프로그램에서 사용할 수 있도록, 운영체제 또는 프로그래밍 언어에서 제공하는 기능을 제어할 수 있게 만든 인터페이스 를 뜻으로 정리되어있습니다.

쉽게 예시를 들자면 우리가 자판기를 사용할때 내부가 어떤 원리로 어떻게 동작하는지는 몰라도 인터페이스를 통해서 쉽게 이용할 수 있고 이런 인터페이스의 버튼이 적거나 간단하게 표현되어 있어 직관적일수록 사용하기 더 좋은 기계라고 볼 수 있는것 처럼

<자판기사진>
프로그래밍에 있어서 API는 누구나 쉽게 접근하여 정보를 공유하기 위해 만들어진 규격

이라고 생각하시면 됩니다!

 

API의 역사


 

  • 1960년대

    1964년 api는 처음 하드웨어 독립성을 높이기 위해서 사용되었는데 예를 들어서 서로다른 하드웨어 부품마다 개발자가 하나하나 프로그램을 새롭게 작성하는것 보다 같은 일을 하는 하드웨어를 추상화 시켜 함수를 한번 사용하여 서로다른 화면에 출력하는 일을 쉽게 사용해주기 위해 생겨난 개념이다

  • 1980년대

    이 시기부터 "개인용 컴퓨터"의 명칭이 일반화 되기 시작하였고 사무실등에 보급이되기 시작하였는데 1984년에 등장한 매킨토시가 그래픽 사용자 인터페이스 개념을 크게 보급시키는 데 성공시켜 windowOS나 macOS등 운영체제에서는 각각의 운영체제에서 동작할수있는 애플리케이션을 만들기 위하여 제공되었던 응용프로그램들이 api라는 단어로 사용되기 시작되었다.

     

API종류


 

  • 대표적인 방식

현재는 API의 구조를 이야기 할 때에, 가장 대표적인 두가지 방식으로 SOAP와 REST가 비교되는것 같습니다. 두 방식은 비슷하지만 본질적으로 다른기술이기 때문에 세부적으로는 비교하기 어렵습니다.

SOAP(Simple Object Access Protocol)는 프로토콜이고 , REST(Representational State Transfer)는 아키텍처 스타일이기 때문입니다.

 

  • 차이

REST는 웹에 최적화되어 있고, 데이터 포맷이 JSON이기 때문에 브라우저들 간에 호환성이 좋습니다. 또한, 그 성능과 확장성이 뛰어난 것으로도 알려져있습니다

SOAP(Simple Object Access Protocol)는 그 자체로 프로토콜이며, 보안이나 메시지 전송 등에 있어서 REST보다 더 많은 표준들이 정해져있기 때문에 조금 더 복잡합니다 대신 SOAP 표준에는 성공/반복 실행 로직이 규정되어 있기 때문에, SOAP API를 통해서 통신을 할 때 처음부터 끝까지 신뢰성을 제공합니다.

차이 SOAP REST
유형 Protocol Architecture
기능 구조화된 정보 전송
ACID(원자성, 일관성, 고립성, 지속성)
데이터를 위해서 리소스에 접근(URL)
데이터 포메팅 xml plain/text, HTML, XML,JSON 등등
보안 ws-security,ssl지원 ssl과 HTTPS지원
대역폭 많은 리소스와 대역폭 요구 적은 리소스와 가벼운 무게
데이터 캐시 캐시x 캐시o
페이로드 처리 엄격한 통신규약을 가지고있어
모든 메세지를 보내기 전 알려야함
알려줄 필요 x
ACID준수 자체적인 ACID기준이 있어
데이터 손상을 줄여줌
x
  • 사용되는곳

보통 웹서비스에서 개발자들은 SOAP의 이점이 확실하게 필요한 것이 아니라면 REST방식을 선택하는 경우가 많고 기업용 애플리케이션의 경우는 많은 리소스와 보안, 여러 요구사항을 만족하기위해 SOAP방식을 선택하는 경우가 많다고 합니다.

 

반응형