minzzl

[2] API 본문

728x90
반응형

안녕하세용

호기롭게 2일차에 놀아버려 .. 오늘 2,3일차를 몰아서 할 예정입니다 ~ ^^

괜찮아요 ! 

중요한건 꺽였는데도 그냥 하는 마음이자나요 ? ㅎ

 

API

 

API (Application Programming Interface)는 둘 이상의 컴퓨터 프로그램이 서로 통신하는 방법이자 컴퓨터 사이에 중계 계층을 의미합니다.

 

사실 이렇게 들으면 조금 어려운 감이 있습니다.

 

그래서 아래의 그림을 살펴보겠습니다.

두 대의 컴퓨터가 데이터를 주고 받을 때를 나타낸 그림입니다. 

이 때에 각 컴퓨터는 HTTP, 혹은 HTTPS와 같이 어떤 프로토콜을 사용할지 결정해야합니다. 또한 Get 요청일지 Post 요청일지, XML 혹은 JSON 과 같이 어떤 데이터 교환 형식을 사용해야할지 정의되어져있어야합니다. 이러한 것들이 정의된 중계계층이 API입니다.

 

API는 Application Programming Interface 는 약자인데요,

여기 단어에서 Interface 에 집중해 볼 필요가 있습니다.

 

우리가 평소에 접하는 Interface는 어떤게 있을까요?

 

네, 어플리케이션을 사용할 때 User Interface를 접합니다!

 

우리는 해당 앱의 서버가 어떻게 구성되어있는지, 어떤 데이터 처리 방식에 의해서 로그인이 되는지는 모르지만 User Interface를 통해 우리가 사용하고 싶은대로 사용할 수 있습니다. 다시말해, 그 안의 세세한 구성원리는 모르더라도 Interface를 통해 서비스를 이용할 수 있습니다.

 

 Application Programming Interface도 이와 마찬가지 입니다.

앞서 API란 서로 다른 소프트웨어가 서로 통신 할 수 있게 하는 메커니즘이라고 언급한 바 있습니다. 이러한 메커니즘을 통해 각자에게 필요한 서비스를 요청하고, 그에 따른 데이터나 기능을 제공할 수 있습니다. 또한 Interface 라는 용어에 걸맞게 내부 구성원리를 모르더라도 말이죠.

 

종류

 

API를 굳이 종류로 나누어보자면, 접근 방식에 따라 유형을 나눌 수 있습니다.

 

1) Private API

 

Private API는 내부 API로, 기업이나 연구 단체 등에서 자체 제품과 운영 개선을 위해 단체 내부에서만 사용하는 것과 같이 제 삼자에게 노출되지 않는 API를 의미합니다. 흔히 내부 서버간 통신에 이용되며 사용자는 이를 알지 못합니다.

 

2) Public API

 

Public API는 말 그대로 개방형 API이며 모두에게 공개 됩니다. Public API 중에서도 접속하는 대상에 대한 제약이 없는 경우를 OpenAPI라고 합니다. 그러나 모든 사람이 사용할 수 있기 때문에 많은 트래픽을 방지하기 위해 하루 요청수 제한, 계정 당 몇개 등으로 관리하기도 합니다. 

 

카카오에서 제공하는 Open API

 

API의 장점

 

그렇다면 API를 사용하면 어떤 장점들이 있을까요?

 

  • 데이터 접속의 표준화와 편의성

API는 모든 접속을 표준화 합니다. 그렇기 때문에 디바이스/운영체제 등과 상관없이 조건만 맞다면, 범용 플로그처럼 누구나 동일한 액세스를 약속합니다. 또한 조직에서 애플리케이션을 개발할 때, 기능적 API만 사용하면 필요한 기능들을 매번 개발/업데이트 할 필요없이 손 쉽게 사용할 수 있습니다.

 

  • 자동화와 확장성

API를 통한 CRUD 처리에 따라 관련 데이터와 콘텐프가 자동으로 생성되고 사용자의 환경에 맞춰서 정보가 전달되어 개발 워크 플로우가 간소화되고 애플리케이션 확장이 용의합니다. 

 

  • 서비스의 중요한 부분을 드러내지 않아도된다.

예를들어 DB설계 구조나 드러내고 시지 않은 데이터 베이스의 테이블 정보, 서버의 상수값 등을 드러내지 않고 드러내고 싶은 부분만 드러낼 수 있습니다. 또한 사용자는 해당 서비스가 어떻게 구현되는지 알 필요없이 필요한 정보를 얻을 수 있습니다.

 

  • 시간 절약 및 단축

OPEN API의 경우 앱 개발 프로세스를 단순화 시키고 시간과 비용을 절약할 수 있습니다.

 

 

API의 단점

 

API의 가장 큰 단점은 보안성입니다. 이는 API의 단일 진입점인 API 게이트웨이는 해커의 타겟 대상이 될 수 있기 때문입니다.

API는 단순히 HTTP 메서드를 사용하여 엑세스를 할 수 있는데, 이 때문에 다른 일반적 인터넷 기반 리소스와 마찬가지로 메시지 가로채기 공격 , CSRF 공격, XSS 공격 등에 취약합니다.

 

.

.

.

 

사실 API 는 매번 사용도 해왔고 그리 어려운 개념이 아닌데도, 누가 저한테 갑자기 API가 뭐야? 라고 물으면 당황할게 뻔했습니다 ..

이번 기회에 확실히 짚고 나니 한결 가벼운 마음입니다 ~ 

 

모두들 화이팅 합시당 

 

* 다음의 글을 참고하여 작성했습니다.

https://www.hanl.tech/blog/api%EB%9E%80-api%EC%9D%98-%EC%A0%95%EC%9D%98%EC%99%80-%EC%A2%85%EB%A5%98-%EC%9E%A5%EB%8B%A8%EC%A0%90/

728x90
반응형