본문 바로가기

자라나라 PM

API,REST API,Private API,Partner API,Public API

728x90

인터페이스

- 기기를 만들면 사용자가 그걸 제어하기 위한 기능이다.

예) 티비에는 켜고 끄고 볼륨을 조절할 수 있는 기능이 있다.

 -> 티비의 화면도 인터페이스에 속한다.

예. 소프트웨어에는 사용자가 사용하기 위해 스크롤을 내리는 것이나, 버튼이나, 켜고 끄는 것 등이 있다. 

-> UI : User Interface

 

이처럼 기기와 사람 간에 소통을 위한 것이 인터페이스라면 

서버와 기기들 사이에도 정보를 주고받는 지정된 형식이 있어야 한다

 

API 

- Application Programming Interface

소프트웨어가 다른 소프트웨어로부터 지정된 형식으로 요청하고 명령을 받을 수 있는 수단을 API 라고 한다.

- 클라이언트는 서버에 정말 많은 요청들을 보내게 될 텐데, 각 요청들을 담당하는 서버에게 요청이 잘 전달되고 처리될 수 있도록 교통정리를 해 주는 "체계"가 API다.

- 어떠한 방식으로 정보를 요청해야 하는지, 그리고 그러한 요청을 보냈을 때 어떤 형식으로 무슨 데이터를 전달받을 수 있는지에 대해 정리한 일종의 규격.

꼭 네트워크 상에서만 있는 것이 아니다.

로컬 프로그램인 브라우저는 Web API 를 통해 자바스크립트로부터 특정 동작들을 지시받고, 

윈도우에는 개발자들이 프로그램을 개발할 때 시스템이나 하드웨어에 대한 세세한 지식이 없어도 지정된 명령어로 동작을 수행하도록 소프트웨어를 짤 수 있는 Windows API 를 제공한다.

Windosw API Index

REST API 

프론트엔드 웹에서 서버에 데이터를 요청하거나 배달 앱에서 서버에 주문을 넣거나 하는 등

이런 형식에서 오늘 날 많이 쓰이는 것들이 REST 란 형식의 API 이다.

즉 정보들이 주고 받아지는 데 있어서 개발자들 사이에서 널리 쓰이는 일종의 형식인 것이다.

과거의 SOAP 란 복잡한 형식을 대체한 것인데,

 

가장 중요한 특징은 

각 요청이 어떤 동작이나 정보를 위한 것인지를 그 요청의 모습 자체로 추론 가능하다는 것이다.

개발자 혼자서만 어떤 것을 만든다면 문제가 없지만 나중에 다른 개발자와 협업을 하게 된다면

혼자서만 알아볼 수 있도록 만든 형식으로는 문제가 생길 것이다.

RESTful 하게 만든 API는 요청을 보내는 주소만으로도 대략 이게 무엇을 요구하는 요청인지 파악이 가능하다.

 

Private API

내부 API 로, 회사 개발자가 자체 제품과 서비스를 개선하기 위해 내부적으로 발행한다. 제 3자에게 노출되지 않는다.

 

Partner API

기업이 데이터 공유에 동의하는 특정인들만 사용할 수 있게 한다.

비즈니스 관계에서 사용되는 편이며, 종종 파트너 회사 간에 소프트웨어를 통합하기 위해 사용된다.

 

Public API

개방형 API 로 모두에게 공개된다. 누구나 제한 없이 API 를 사용할 수 있는 게 특징이다.

 

참고)

https://enjoyinjoanne.tistory.com/56

 

[IT교양] 비전공자를 위한 API 이해하기 (feat. Open API, REST API)

"데이터를 API 형태로 받는다", "지도 API로 코로나 맵을 개발했다"하는 이야기를 들어보신 적 있으신가요? 오늘은 비전공자, IT 무관 업계 분들도 어디선가 들어는 봤을 "API"에 대해 소개해보려고

enjoyinjoanne.tistory.com

https://recipes4dev.tistory.com/153

 

소켓 프로그래밍. (Socket Programming)

1. 소켓(Socket) 만약 네트워크와 관련된 프로젝트를 진행하면서, 사용자(User)의 관점이 아닌, 개발자(Developer)의 관점에서 네트워크를 다뤄본 경험이 있다면, "소켓(Socket)"이라는 용어가 아주 낯설

recipes4dev.tistory.com

 

728x90