[Network] - API

Inwoo Hwang·2021년 8월 26일
0

Network

목록 보기
1/1
post-thumbnail

Warning: 이해한 부분을 최대한 남기고 정리하려 남긴 글 입니다. 틀린 부분이 있을 수 있습니다. 이점 유의하고 읽어주시면 감사할 것 같습니다. 그리고 틀린 부분 알려주시면 바로바로 고치도록 하겠습니다.

What is an API?

  • Your app can talk to other system[broadcasting] to get the required data

  • your app can talk to other system[facebook] to verify your credentials

이런 소통의 통로를 만드는 것이 바로 API이다.

Application Programming Interface

바로 위에 진행된 app 또는 web과 다른 시스템간의 소통이 가능해지도록 규정을 만드는 것이 API의 역할이다.

API는 여권발급사무소와 비슷하게 작동한다. 여권을 발급받으려면 요구되는 것들을 준비해야 하는 것 처럼 다른 시스템과 소통을 하려면 해당 시스템의 API에 적혀있는 요구사항에 맞게 준비물을 가져가야 한다.

Endpoint

Endpoint는 여권 발급원과 같은 역할을 Application Programming Interface에서 담당한다.

여권을 발급 받기 위해서 우리는 오직 여권 발급원 만을 컨택하여 여권을 만들 수 있다. API도 마찬가지이다. 우리는 직접적으로 API system 내부에 접근할 수 없다. 우리는 오직 Endpoint라는 API Layer를 통해서만 해당 API의 시스템과 통신이 가능하다.

각각의 Endpoint는 특정 시스템과 소통하기 위해서 필요한 프로토콜 또는 규정이 적혀있고 심사가 끝난 뒤 어떠한 결과값을 반환 할 것인지 알려준다. 물론 요구사항을 충족하지 못하면 API요청은 거절된다.

API를 통해 시스템과 소통하기 위해서는 각 앱마다 자신을 식별할 수 있는 key를 endpoint에게 제출해야 한다. 이를 통해 어떤 앱이 특정 API를 접근하는지 알 수 있게 된다.

Example

https://newsapi.org/v2/top-headlines?country=us&category=business@apiKey=8c4d5faa662f4dce849d17d89e86ca14

해당 주소는 현재 미국의 톱 비즈니스 헤드라인을 알려주는 API다. 위 주소를 하나하나 뜯어보자.

https://newsapi.org/v2/top-headlines는 해당 시스템 API의 endpoint를 뜻한다.

country=us&category=business 부분은 여러가지 input을 API에게 passing 하는 것을 뜻한다.[프로토콜을 준수하는 것이다.]

8c4d5faa662f4dce849d17d89e86ca14 마지막으로 이 부분은 이 뉴스 API로부터 받은 나만이 가지고 있는 API key를 뜻하고 이 key 역시 API로 passing한다.[이또한 프로토콜 준수에 포함]

이 url을 주소창에 치면 JSON파일포맷으로된 정보데이터를 받게 된다. 이 JSON 파일을 가지고 추출하여 내가 가지고 있는 앱에서 활용할 수 있는 것이다.

위 자료는 ↓ ↓아래 영상을 ↓ ↓ 보고 나름대로 해석한 뒤 작성한 자료입니다. 틀린 부분 있으면 알려주시면 빠른 시일 내에 수정하도록 하겠습니다 :)

What is an API and how does it work? (In plain English) - YouTube

profile
james, the enthusiastic developer

0개의 댓글